我试图从这里运行查询:https://support.microsoft.com/en-us/kb/3083381。但是我在table
收到了错误的语法错误。
insert into dbChangeTrackingMetadata.dbo.t_SYSCOMMITTABLE
SELECT commit_ts, xdes_id, commit_lbn, commit_csn, commit_time
FROM OpenRowset (table SYSCOMMITTABLE, db_id (), 0, 0)
这似乎是MySQL INSERT...SELECT
查询的等价物,但我不确定我是否跟在最后一行。有人能照亮我吗?
答案 0 :(得分:1)
当在单用户模式下启动SQL Server时,KB文章https://support.microsoft.com/en-us/kb/3083381中提到的代码只能使用专用管理员连接执行。
" OPENROWSET(表...)"语法是一个内部系统调用,只能由系统对象执行(当SQL Server正常启动时)。
OPENROWSET允许的语法如下所示:
SELECT * FROM OPENROWSET(BULK 'C:\WINDOWS\system.ini', SINGLE_CLOB) t
SELECT * FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;', 'SELECT * FROM sysdatabases') t
有关OPENROWSET的详细信息,请参阅https://msdn.microsoft.com/en-us/library/ms190312.aspx。