我有我有兩個相同結構的數據庫的情況。第一個數據表中有一些數據。我需要創建一個將數據從第一個數據庫傳輸到第二個數據庫的腳本。我已經創建了這個腳本。在SQL Server 2005執行問題
DECLARE @table_name nvarchar(MAX),
@query nvarchar(MAX)
DECLARE @table_cursor CURSOR
SET @table_cursor = CURSOR FAST_FORWARD
FOR
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
OPEN @table_cursor
FETCH NEXT FROM @table_cursor
INTO @table_name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @query = 'INSERT INTO ' + @table_name + ' SELECT * FROM MyDataBase.dbo.' + @table_name
print @query
exec @query
FETCH NEXT FROM @table_cursor
INTO @table_name
END
CLOSE @table_cursor
DEALLOCATE @table_cursor
的問題是,當我運行該腳本「打印@query」語句打印語句這樣
INSERT INTO table SELECT * FROM MyDataBase.dbo.table
當我複製本,並從管理Studio中運行它,它工作正常。但是當腳本嘗試運行它與執行我得到這個錯誤
Msg 911, Level 16, State 1, Line 21
Could not locate entry in sysdatabases for database 'INSERT INTO table SELECT * FROM MyDataBase'. No entry found with that name. Make sure that the name is entered correctly.
希望有人可以告訴我whot是與這個戰鬥。
最好的問候,
約爾丹TANEV
其一,錯誤信息的東西只顯示數據庫部分或表名(我不知道MPDEV090314應該是什麼)。也許這會更好,如果你發佈實際的打印@Query語句而不是*這樣的東西* – 2010-04-02 07:41:12