首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建bacpac失败(DoAllowRowLocks / DoAllowPageLocks)

创建bacpac失败(DoAllowRowLocks / DoAllowPageLocks)
EN

Database Administration用户
提问于 2013-09-26 12:22:04
回答 1查看 1.8K关注 0票数 0

我正在从本地数据库创建bacpac文件,以便导入到Azure SQL Server,但我一直收到一个似乎无法解决的错误。

代码语言:javascript
复制
Error SQL71564: Element Primary Key has an unsupported property DoAllowRowLocks set and is not supported
    when used as part of a data package. 
Error SQL71564: Element Primary Key has an unsupported property DoAllowPageLocks set and is not supported
    when used as part of a data package.

这个错误重复了50多个键。我已经专心致志地讨论这个问题两天了,我真的很想在这个问题上有所帮助。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-03-03 11:34:04

我已经使用以下脚本修复了问题:

重建所有索引

代码语言:javascript
复制
USE AdventureWorks;
declare @table_name varchar(200)
declare @SQL varchar(300)

DECLARE vendor_cursor cursor 
        FOR SELECT sys.tables.name
        FROM sys.tables WHERE sys.tables.name NOT LIKE '%_dss'
OPEN vendor_cursor

FETCH NEXT FROM vendor_cursor 
INTO @table_name

WHILE @@FETCH_STATUS = 0
BEGIN
 SELECT @SQL =  'ALTER INDEX ALL ON '+@table_name+' REBUILD';
 EXEC(@SQL);
 print 'INDEX Rebuild on all indexes in table '+@table_name+' is done.';
 FETCH NEXT FROM vendor_cursor  INTO @table_name
END 
CLOSE vendor_cursor;
DEALLOCATE vendor_cursor;
GO

我还需要更改IsNotForReplication属性。对于所有具有标识列的表,此脚本将为是。

代码语言:javascript
复制
EXEC sp_msforeachtable @command1 = '
declare @int int
set @int =object_id("?")
EXEC sys.sp_identitycolumnforreplication @int, 1'

对于所有具有标识列的表,此脚本将为NO。

代码语言:javascript
复制
EXEC sp_msforeachtable @command1 = ‘
declare @int int
set @int =object_id(“?”)
EXEC sys.sp_identitycolumnforreplication @int, 0′
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/50561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档