Pet*_*din 13 sql-server in-memory-database sql-server-2014
我已经从这里下载了基于 AdventureWorks 的内存示例,并遵循了随附文档中描述的所有步骤。但是,当我尝试在 SQL Server Management Studio 中运行脚本时,我收到错误消息:
多语句事务中不允许使用 ALTER DATABASE 语句
错误指向第 9 行,即:
IF NOT EXISTS (SELECT * FROM sys.data_spaces WHERE type='FX')
ALTER DATABASE CURRENT ADD FILEGROUP [AdventureWorks2012_mod]
CONTAINS MEMORY_OPTIMIZED_DATA
GO
Run Code Online (Sandbox Code Playgroud)
由于这是(或多或少)微软官方文档,我假设这是我做错的事情,但我无法弄清楚它是什么。
我同意@AaronBertrand 你没有做错任何事。这不是我第一次看到带有错误的 Microsoft 脚本。实际上,如果他们发布了尽可能多的脚本,我会很惊讶没有看到任何脚本。
具体来说,问题是ALTER DATABASE根本不允许在事务中使用。您可以在此处查看 BOL 参考:事务中允许的 Transact-SQL 语句
事实上,即使像这样简单的脚本也会失败并出现相同的错误。
BEGIN TRANSACTION
ALTER DATABASE AdventureWorks2012 SET READ_WRITE
COMMIT
Run Code Online (Sandbox Code Playgroud)
正如亚伦所说,删除事务处理(或至少ALTER DATABASE是事务中的语句),你应该没问题。
| 归档时间: |
|
| 查看次数: |
27498 次 |
| 最近记录: |