vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi, guys - looking for a bit of help/advice on moving a database from SQL 7 to SQL 2000. We've a third party application which currently uses a SQL7 database. This database has a number of views which are owned by user INFORMATION_SCHEMA and are set as system tables. This user doesn't actually have a login on the SQL server. We've tried the following to recreate the database on SQL2000, but whatever we try, the views owned by INFORMATION_SCHEMA won't copy over from SQL7: (1) We tried the "Copy Database" wizard in SQL2000, but were getting errors when trying to actually copy the database (other steps worked fine). (2) We tried a restore to SQL2000 from our Legato Networker backup of the SQL7 database, but the views didn't come across. (3) We tried a backup from SQL7 and restore to SQL2000, but got the message that the backup file contained a database other than the one we wanted (it didn't - we checked the backup file several times by restoring it to another SQL7 server). (4) We tried to import/export data from SQL7 to SQL2000, but the views owned by INFORMATION_SCHEMA weren't showing to add to the list of objects to take across. (5) We created the INFORMATION_SCHEMA login on SQL2000, and tried all restores again, but still the views wouldn't go across. (6) We generated the SQL for all views in SQL7 and ran these on SQL2000, setting the owner to INFORMATION_SCHEMA, but wasn't sure where to set the type to "system" (as opposed to "user). We're having problems running the third party application with a connection to SQL2000, and want to rule out the lack of views, or view ownership, as the problem. Our third party vendor isn't coming up with any solution in a hurry. Can anyone think of any reason why the views are coming across when the database is restored to SQL2000? Thanks for your help. |
| ||||
| There is no need to transfer these views to sql2000 (if not a possibility) , because they are already there. Just like system tables there are also system views. These views are based on the sql-92 standard. When you connect to a sql2000 database and open the query analyzer type this statement and run it on the northwind database (or any other if you want): select * from information_schema.columns You will get to see a list of all the columns for all the tables in that specific database. Notice that there you cannot see these view but CAN execute a select on them. to be short: There is no need (and no way) to transfer these information views. Here is the text form the BOL (sql2000) Information Schema Views Microsoft® SQL Server™ 2000 provides two methods for obtaining meta data: system stored procedures or information schema views. Note To obtain meta data, use system stored procedures, system functions, or these system-supplied views only. Querying the system tables directly may not provide accurate information if system tables are changed in future releases. These views provide an internal, system table-independent view of the SQL Server meta data. Information schema views allow applications to work properly even though significant changes have been made to the system tables. The information schema views included in SQL Server conform to the SQL-92 Standard definition for the INFORMATION_SCHEMA. SQL Server supports a three-part naming convention when referring to the current server. The SQL-92 standard also supports a three-part naming convention. However, the names used in both naming conventions are different. These views are defined in a special schema named INFORMATION_SCHEMA, which is contained in each database. Each INFORMATION_SCHEMA view contains meta data for all data objects stored in that particular database. This table describes the relationships between the SQL Server names and the SQL-92-standard names. SQL Server name Maps to this equivalent SQL-92 name Database catalog Owner schema Object object user-defined data type domain This naming convention mapping applies to these SQL Server SQL-92-compatible views. These views are defined in a special schema named INFORMATION_SCHEMA, which is contained in each database. Each INFORMATION_SCHEMA view contains meta data for all data objects stored in that particular database |