AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[ssdt](dba)

Martin Hope
tnk479
Asked: 2021-06-09 14:23:30 +0800 CST

Visual Studio 数据工具 (SSDT) 架构比较工具似乎无法正常工作

  • 1

我最近开始使用 SSDT 架构以及数据和比较工具。多年来,我一直在使用 Red Gate 的 SQL 比较和 SQL 数据比较,但我认为 VS 工具可能就足够了,我想看看我是否可以忍受它们。在过去的几个月里,它们一直运行良好,但今天在比较本地数据库和 Azure SQL 数据库之间的架构时,我得到了一个奇怪的结果,我想为 Web 应用程序部署更改。架构比较已将若干列标记为不同,并指示它们将被删除。实际上,添加了一个新列。但是,其他列中的任何内容都没有改变。我勾选了“忽略列顺序”框,以便不考虑列顺序。

这是它的样子:

在此处输入图像描述

只是颜色不对吗?即使没有任何变化,它是否会实际删除 PermitLimit 列并重新创建它?我是否需要设置其他一些设置,以便这些相同的列不会被突出显示为有差异?

sql-server ssdt
  • 1 个回答
  • 877 Views
Martin Hope
JackLock
Asked: 2020-01-29 10:52:08 +0800 CST

SQLPackage 重置数据库恢复模式

  • 3

我将 SQLPackage.exe 与数据库发布配置文件一起使用,以将数据库更改部署到 DEV 和 QC 实例。我有处于简单恢复模式的数据库。但是当我使用 SQLPackage 部署更改时,它会将它们恢复为完全恢复模式。

这就是我正在使用的,

"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /Action:Publish /SourceFile:"FILE PATH TO .DACPAC" /Profile:"PUBLISH PROFILE.XML"

如果我使用 Visual Studio 使用相同的发布项目部署项目更改,也会发生同样的情况。

我在这里想念什么?据我所知,Profile 中没有这样的标志。这是 SQLPackage 的预期行为吗?

sql-server ssdt
  • 1 个回答
  • 1092 Views
Martin Hope
Definite
Asked: 2020-01-24 01:18:56 +0800 CST

在 SSDT 中创建内存优化文件组时出错

  • 2

我正在尝试将内存优化文件组添加到 SSDT 中的 SQL 服务器数据库项目。这适用于使用 Visual Studio 2017 的 SQL Server 2017。

但是编译项目(按 F5 构建)会导致错误。部署时不会发生此错误(通过部署)。

文件组正常创建(使用 SSDT 编写的 SQLCMD 变量):

ALTER DATABASE [$(DatabaseName)]
ADD FILEGROUP [MemoryOptimizedFilegroup] CONTAINS MEMORY_OPTIMIZED_DATA

但是,这会导致错误:

具有 MEMORY_OPTIMIZED_DATA 文件组的数据库不支持操作“AUTO_CLOSE”。

但是,数据库设置显示确实禁用了自动关闭:

自动关闭

SSDT 出于某种原因生成的部署脚本正在创建数据库,创建文件组,然后仅将 AUTO_CLOSE 设置为关闭。这可能会导致错误:

CREATE DATABASE [$(DatabaseName)]
ON 
PRIMARY(NAME = [$(DatabaseName)], FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_Primary.mdf')
LOG ON (NAME = [$(DatabaseName)_log], FILENAME = N'$(DefaultLogPath)$(DefaultFilePrefix)_Primary.ldf') COLLATE SQL_Latin1_General_CP1_CI_AS
GO
PRINT N'Creating [MemoryOptimizedFilegroup]...';

GO
ALTER DATABASE [$(DatabaseName)]
    ADD FILEGROUP [MemoryOptimizedFilegroup] CONTAINS MEMORY_OPTIMIZED_DATA;

GO
ALTER DATABASE [$(DatabaseName)]
    ADD FILE (NAME = [MemoryOptimizedFilegroup_69323650], FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MemoryOptimizedFilegroup_69323650.mdf') TO FILEGROUP [MemoryOptimizedFilegroup];

GO
USE [$(DatabaseName)];

GO
IF EXISTS (SELECT 1
    FROM   [master].[dbo].[sysdatabases]
    WHERE  [name] = N'$(DatabaseName)')
BEGIN
    ALTER DATABASE [$(DatabaseName)]
        SET ANSI_NULLS ON,
            ANSI_PADDING ON,
            ANSI_WARNINGS ON,
            ARITHABORT ON,
            CONCAT_NULL_YIELDS_NULL ON,
            NUMERIC_ROUNDABORT OFF,
            QUOTED_IDENTIFIER ON,
            ANSI_NULL_DEFAULT ON,
            CURSOR_DEFAULT LOCAL,
            CURSOR_CLOSE_ON_COMMIT OFF,
            AUTO_CREATE_STATISTICS ON,
            AUTO_SHRINK OFF,
            AUTO_UPDATE_STATISTICS ON,
            RECURSIVE_TRIGGERS OFF 
        WITH ROLLBACK IMMEDIATE;
    ALTER DATABASE [$(DatabaseName)]
        SET AUTO_CLOSE OFF 
        WITH ROLLBACK IMMEDIATE;
END

我不确定在 CREATE DATABASE 之后是默认启用还是禁用 AUTO_CLOSE。如果默认为 ON,则 SSDT 似乎以错误的顺序生成部署脚本。如果默认关闭,那么我不明白为什么会出现错误。

有没有人在 SSDT 项目中成功创建内存优化文件组?

sql-server ssdt
  • 2 个回答
  • 705 Views
Martin Hope
seanw_pc
Asked: 2019-12-25 11:33:09 +0800 CST

使用发布配置文件发布时出错 -“DropExtendedPropertiesNotInSource 与选定的 DoNotDropObjectType ExtendedProperties 冲突”

  • 2

正如标题所说,尝试使用发布配置文件 XML 发布时出现此错误:

DropExtendedPropertiesNotInSource 与选定的 DoNotDropObjectType ExtendedProperties 冲突

我已指定在目标中删除不在源中的对象,但已排除除表和同义词之外的所有内容。以下是我认为与此错误有关的两行:

<DropObjectsNotInSource>True</DropObjectsNotInSource>
<DoNotDropExtendedProperties>True</DoNotDropExtendedProperties>

下面是完整的发布配置文件,已删除目标数据库信息。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseName>REDACTED</TargetDatabaseName>
<DeployScriptFileName>REDACTED.sql</DeployScriptFileName>
<TargetConnectionString>Data Source=REDACTED;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True</TargetConnectionString>
<BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
<DropObjectsNotInSource>True</DropObjectsNotInSource>
<DoNotDropAggregates>True</DoNotDropAggregates>
<DoNotDropApplicationRoles>True</DoNotDropApplicationRoles>
<DoNotDropAssemblies>True</DoNotDropAssemblies>
<DoNotDropAsymmetricKeys>True</DoNotDropAsymmetricKeys>
<DoNotDropAudits>True</DoNotDropAudits>
<DoNotDropBrokerPriorities>True</DoNotDropBrokerPriorities>
<DoNotDropCertificates>True</DoNotDropCertificates>
<DoNotDropClrUserDefinedTypes>True</DoNotDropClrUserDefinedTypes>
<DoNotDropColumnEncryptionKeys>True</DoNotDropColumnEncryptionKeys>
<DoNotDropColumnMasterKeys>True</DoNotDropColumnMasterKeys>
<DoNotDropContracts>True</DoNotDropContracts>
<DoNotDropCredentials>True</DoNotDropCredentials>
<DoNotDropCryptographicProviders>True</DoNotDropCryptographicProviders>
<DoNotDropDatabaseAuditSpecifications>True</DoNotDropDatabaseAuditSpecifications>
<DoNotDropDatabaseRoles>True</DoNotDropDatabaseRoles>
<DoNotDropDatabaseScopedCredentials>True</DoNotDropDatabaseScopedCredentials>
<DoNotDropDatabaseTriggers>True</DoNotDropDatabaseTriggers>
<DoNotDropDefaults>True</DoNotDropDefaults>
<DoNotDropEndpoints>True</DoNotDropEndpoints>
<DoNotDropErrorMessages>True</DoNotDropErrorMessages>
<DoNotDropEventSessions>True</DoNotDropEventSessions>
<DoNotDropEventNotifications>True</DoNotDropEventNotifications>
<DoNotDropExtendedProperties>True</DoNotDropExtendedProperties>
<DoNotDropExternalDataSources>True</DoNotDropExternalDataSources>
<DoNotDropExternalFileFormats>True</DoNotDropExternalFileFormats>
<DoNotDropExternalTables>True</DoNotDropExternalTables>
<DoNotDropFileTables>True</DoNotDropFileTables>
<DoNotDropFilegroups>True</DoNotDropFilegroups>
<DoNotDropFullTextCatalogs>True</DoNotDropFullTextCatalogs>
<DoNotDropFullTextStoplists>True</DoNotDropFullTextStoplists>
<DoNotDropLinkedServerLogins>True</DoNotDropLinkedServerLogins>
<DoNotDropLinkedServers>True</DoNotDropLinkedServers>
<DoNotDropLogins>True</DoNotDropLogins>
<DoNotDropMessageTypes>True</DoNotDropMessageTypes>
<DoNotDropPartitionFunctions>True</DoNotDropPartitionFunctions>
<DoNotDropPartitionSchemes>True</DoNotDropPartitionSchemes>
<DoNotDropPermissions>True</DoNotDropPermissions>
<DoNotDropQueues>True</DoNotDropQueues>
<DoNotDropRemoteServiceBindings>True</DoNotDropRemoteServiceBindings>
<DoNotDropRoutes>True</DoNotDropRoutes>
<DoNotDropRoleMembership>True</DoNotDropRoleMembership>
<DoNotDropRules>True</DoNotDropRules>
<DoNotDropScalarValuedFunctions>True</DoNotDropScalarValuedFunctions>
<DoNotDropSearchPropertyLists>True</DoNotDropSearchPropertyLists>
<DoNotDropSecurityPolicies>True</DoNotDropSecurityPolicies>
<DoNotDropSequences>True</DoNotDropSequences>
<DoNotDropServerAuditSpecifications>True</DoNotDropServerAuditSpecifications>
<DoNotDropServerRoles>True</DoNotDropServerRoles>
<DoNotDropServerRoleMembership>True</DoNotDropServerRoleMembership>
<DoNotDropServices>True</DoNotDropServices>
<DoNotDropServerTriggers>True</DoNotDropServerTriggers>
<DoNotDropSignatures>True</DoNotDropSignatures>
<DoNotDropStoredProcedures>True</DoNotDropStoredProcedures>
<DoNotDropSymmetricKeys>True</DoNotDropSymmetricKeys>
<DoNotDropSynonyms>False</DoNotDropSynonyms>
<DoNotDropTableValuedFunctions>True</DoNotDropTableValuedFunctions>
<DoNotDropUserDefinedDataTypes>True</DoNotDropUserDefinedDataTypes>
<DoNotDropUserDefinedTableTypes>True</DoNotDropUserDefinedTableTypes>
<DoNotDropUsers>True</DoNotDropUsers>
<DoNotDropViews>True</DoNotDropViews>
<ExcludeUsers>True</ExcludeUsers>
<ExcludeLogins>True</ExcludeLogins>
<ProfileVersionNumber>1</ProfileVersionNumber>
<ExcludeFullTextCatalogs>True</ExcludeFullTextCatalogs>
<IgnoreIndexOptions>True</IgnoreIndexOptions>
<DoNotDropXmlSchemaCollections>True</DoNotDropXmlSchemaCollections>
</PropertyGroup>
</Project>
sql-server ssdt
  • 1 个回答
  • 799 Views
Martin Hope
Thomas Costers
Asked: 2019-06-06 06:25:52 +0800 CST

SqlPackage.exe 不必要地删除并使用架构绑定重新创建索引视图

  • 3

目前 SqlPackage.exe 与 BitBucket 一起用于部署数据库架构更改。

最近,基于 3 个源表创建了一个相当大的索引视图,这些表是应用程序的关键。在视图上创建聚集索引的过程以及随之而来的停机时间大约需要一个小时才能完成。

最近,必须将一列添加到索引视图的一个源表中。尽管视图具有模式绑定,但这应该不是问题,因为视图的定义中没有使用新列(呃!)。尽管如果我们查看 SqlPackage 生成的脚本,它会选择删除索引视图以应对模式绑定,尽管这完全没有必要。在我看来,SqlPackage 无法检查依赖关系,因此出于预防措施而放弃了视图。

如果我在本地机器(SQL Server 2017 Dev edition)上模拟类似的情况,比较 DacPac 总是会导致视图的删除和重新创建。

现在的问题是:有没有人知道任何解决方法或任何方法来防止 SqlPackage 删除视图?我检查了所有属性,但那里似乎没有任何可行的选择。

sql-server ssdt
  • 1 个回答
  • 933 Views
Martin Hope
jmoreno
Asked: 2019-05-15 03:21:48 +0800 CST

MS 是否提供查询 SSDT 项目的方法

  • 0

有没有办法查询 SSDT 项目以获取表或外键列表?类似于您可以对实际数据库执行的操作?

ssdt
  • 1 个回答
  • 43 Views
Martin Hope
Serg
Asked: 2019-04-27 11:06:25 +0800 CST

带有 SSDT 的 VS2017 女士有“带密码的用户”模板,但认为这是错误的

  • 1

在我的数据库项目中,当我在“添加新项”对话框中选择“带密码的用户”模板时,会生成代码,有点像

CREATE USER [u2]
    WITH PASSWORD = 'jbniq_ushfbwc=l5nAxu8aapmsFT7_&#$!~<Jt}ho_aypip@'

GO

GRANT CONNECT TO [u2]

它立即被标记为有语法错误:

SQL46010: Incorrect syntax near 'jbniq_ushfbwc=l5nAxu8aapmsFT7_&#$!~<Jt}ho_aypip@'. 

VS 2017 Comminity with SSDT 15.1.61903 我应该更改一些项目设置还是什么?

sql-server ssdt
  • 1 个回答
  • 103 Views
Martin Hope
Koushik Reddy
Asked: 2019-04-25 01:30:21 +0800 CST

使用 SSDT 发布数据库更改,包括通过 Project 将现有表的列添加到目标数据库

  • 3

使用 SSDT 发布数据库更改,包括将列添加到目标数据库中的现有表(之前通过 SSDT 创建)。而不是创建新的 SSDT 数据库。尝试通过表创建脚本或通过更改表脚本添加列。我遇到了同样的错误。即使通过Schema Compare尝试过,目标数据库中的表仍然遇到同样的错误。如何通过 SSDT 发布更改对目标数据库对象的更改?

RAISERROR(检测到 N'行。模式更新正在终止,因为可能会发生数据丢失。',16、127) WITH NOWAIT;

我尝试通过检查

  1. 如果可能发生数据丢失,请阻止增量部署。

  2. 不要 ALTER 复制的对象。

  3. 不要更改更改数据捕获对象。

sql-server ssdt
  • 1 个回答
  • 1511 Views
Martin Hope
Justin Dearing
Asked: 2019-04-13 03:45:57 +0800 CST

将 CREATE EXTERNAL DATA SOURCE 存储在 SSDT 项目中,而不暴露 DATABASE SCOPED CREDENTIAL 或 MASTER KEY 机密;

  • 9

我有一个部署到 Azure SQL DB 的 SSDT 项目。最近我添加了一个外部表。这需要一个外部数据源,如下所示:

CREATE EXTERNAL DATA SOURCE [data_warehouse]
    WITH (
    TYPE = RDBMS,
    LOCATION = N'mydb.database.windows.net',
    DATABASE_NAME = N'MainDW',
    CREDENTIAL = [dw_reader]
    );

当我将它导入我的 .sqlproj 时,它抱怨凭证不存在,然后当我添加它抱怨主密钥不存在时。问题是我不想将这些秘密存储在 SSDT 项目中。如何存储可以从 azure keyvault 或其他在 Azure Decops 中存储机密的方法覆盖和检索的虚拟对象或默认值?

azure-sql-database ssdt
  • 1 个回答
  • 1292 Views
Martin Hope
Kevin
Asked: 2018-11-13 04:24:57 +0800 CST

为 VS 2017 安装 SSDT - 缺少集成服务

  • 0

我已经从Microsoft docs下载并安装了 SSDT 。安装成功,我现在安装了适用于 VS 2017 的 SSDT - 版本 15.8.9(根据屏幕截图)

但是,我无法创建 SSIS 项目。SSDT 中没有这样做的选项。

当我尝试打开旧版本的 SSIS 包时,我得到以下“不支持”...

在此处输入图像描述

我还缺少什么?

在此处输入图像描述

ssis ssdt
  • 1 个回答
  • 3802 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve