1

有没有人设法让传输机制与 FILESTREAM 列一起使用?

我的代码如下:

Transfer transfer = new Transfer(sourceDatabase);
transfer.CopyAllObjects = true;

transfer.DropDestinationObjectsFirst = true;
transfer.CopySchema = true;
transfer.CopyData = false;
transfer.CopyAllTables = true;
transfer.Options.WithDependencies = true; 

transfer.DestinationServer = server.Name;
transfer.DestinationDatabase = targetDatabaseName;

transfer.TransferData();

创建带有文件流列的表时,我收到错误消息:

“错误:errorCode=-1073548784 description=执行查询...失败,出现以下错误:“具有 FILESTREAM 列的表必须具有非 NULL 唯一 ROWGUID 列。”。可能的失败原因:查询问题, "ResultSet" 属性设置不正确、参数设置不正确或连接未正确建立。helpFile= helpContext=0 idofInterfaceWithError={C81DFC5A-3B22-4DA3-BD3B-10BF861A7F9C}"

这很奇怪,因为源表肯定设置了这些属性。我错过了转移过程的一部分吗?

4

1 回答 1

1

奇怪的是,这很好用:

//transfer.TransferData();

System.Collections.Specialized.StringCollection script = transfer.ScriptTransfer();

Microsoft.SqlServer.Management.Smo.Database targetDatabase = server.Databases["dbname"];
targetDatabase.ExecuteNonQuery(script);

任何人都可以对此有所了解吗?为什么传输会失败,但生成和运行脚本却可以正常工作?

于 2010-08-03T12:44:39.163 回答