我知道如何使用SQLpackage.exe
. 我可以从 SQL Azure 导出并创建 bacpac。我也可以通过SQLPackage.exe
.
我想在没有数据库中的用户的情况下导出或导入。用户正在阻止正常导入失败。
导入数据库时出错:无法导入包。
我无法在导出之前删除用户,也无法将其从导入中排除。
目前我们必须备份数据库,在 SQLAzure 上恢复它,删除第二个数据库上的使用,然后从恢复的数据库创建一个 bacpac。
我该如何解决这个问题?我可以在我的 sqlpackage 中使用IgnoreUserSettingsObjects吗?我尝试使用参数但它失败了
我想在我的本地机器上恢复一些生产 azure 数据库以用于开发目的。所以我将生产数据库导出到一个.bacpack
文件并在本地下载该文件。现在我正在尝试使用sqlpackage 实用程序在本地计算机上恢复该文件,但它引发了以下错误
*** 导入数据库时出错:生成部署计划时出错。部署无法继续。元素或注释类 SqlDatabaseOptions 不包含属性类 CatalogCollation。
有人可以告诉我这个错误是什么意思以及如何解决它?
提前致谢。
在 dba.stackexchange.com 上潜水我找到了一个很好的答案,教我如何.bacpac
使用文件资源管理器打开文件。
我用数据库试了一下,AdventureWorks2008R2
我所做的就是:
.bacpac
文件.zip
好了,您可以将数据库的表作为文件夹查看,并且在每个文件夹中您可以查看原始数据。
但是当我打开文件夹时,Person.Address
我看到里面有 38 个扩展名为.BCP
.
一开始我教他们是数据被分割的页面。但那些不能是页面,因为它们的重量约为67KB
. 页面应该权重8KB
。
所以我用这个查询检查了页数:
-- Total # of pages, used_pages, and data_pages for a given heap/clustered index
SELECT
t.NAME AS TableName,
p.rows AS RowCounts,
SUM(a.total_pages) AS TotalPages,
SUM(a.used_pages) AS UsedPages,
(SUM(a.total_pages) - SUM(a.used_pages)) AS UnusedPages
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = …
Run Code Online (Sandbox Code Playgroud)