相关疑难解决方法(0)

将标识添加到现有列

我需要将表的主键更改为标识列,并且表中已有许多行.

我有一个脚本来清理ID以确保它们从1开始顺序启动,在我的测试数据库上运行正常.

什么是将命令改为具有标识属性的SQL命令?

sql sql-server alter-table identity-column

421
推荐指数
8
解决办法
82万
查看次数

如何在SSMS中查看ntext或nvarchar(max)中的所有文本?

如何在SQL Server Management Studio中查看NTEXT或NVARCHAR(max)中的所有文本?默认情况下,它似乎只返回前几百个字符(255?),但有时我只想快速查看整个字段,而不必编写程序来执行此操作.即使SSMS 2012仍然有这个问题:(

t-sql sql-server ssms sql-server-2008

170
推荐指数
6
解决办法
14万
查看次数

从表中的列中删除标识

我们有一个5GB的表(接近5亿行),我们想删除其中一个列上的标识属性,但是当我们尝试通过SSMS执行此操作时 - 它会超时.

这可以通过T-SQL完成吗?

sql t-sql sql-server

111
推荐指数
7
解决办法
25万
查看次数

如何使用Print Statement打印VARCHAR(MAX)?

我有一个代码是:

DECLARE @Script VARCHAR(MAX)

SELECT @Script = definition FROM manged.sys.all_sql_modules sq
where sq.object_id = (SELECT object_id from managed.sys.objects 
Where type = 'P' and Name = 'usp_gen_data')

Declare @Pos int

SELECT  @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500)

PRINT SUBSTRING(@Script,1,@Pos)

PRINT SUBSTRING(@script,@pos,8000)
Run Code Online (Sandbox Code Playgroud)

脚本的长度大约是10,000个字符,因为我使用的print语句最多只能容纳8000个.所以我使用了两个打印语句.

问题是,当我有一个脚本,比如18000个字符,然后我习惯使用3个打印语句.

那么有没有办法可以根据脚本的长度设置打印语句的数量?

sql t-sql sql-server sql-server-2005 sql-server-2008

94
推荐指数
10
解决办法
8万
查看次数

SQL用聚集列存储索引替换所有表

我们正在进行一个迁移项目,并希望将大型数据仓库的大多数行存储索引替换为集群列存储索引。我们在标识列上添加了唯一索引。

是否有人有脚本来更改所有100多个表的运行,并用Columnstore Index替换主键聚集索引?

测试以查看列存储索引是否在迁移时有助于调整性能。

*顺便说一句,是否在Columnstore中推荐Identity列?需要标识每一行的方法(有时标识列可能会重置,因此要放置唯一约束,还是应该使用Guid?)。如果不是标识,请随时使用Guid或其他方法删除标识列。

当前:

CREATE TABLE [dbo].[Fact_SalesTransaction] 
(
    [FactSalesTransactionId]        INT              IDENTITY (1, 1) NOT NULL,
    [DimCustomerId]                 INT              NOT NULL,
    [DimSellerId]                   INT              NOT NULL,
    [SalesDatetime]                 DATETIME         NULL,
    [DimSalesDateId]                INT              NULL,
    [SalesAmount]                   DECIMAL (28, 2)  NULL,
    [ETLCreateDate]                 DATETIME         NULL,
    CONSTRAINT [pk_SalesTransactionId] PRIMARY KEY CLUSTERED ([SalesTransactionId] ASC)
);
Run Code Online (Sandbox Code Playgroud)

预期:

CREATE TABLE [dbo].[Fact_SalesTransaction] 
(
    [FactSalesTransactionId]        INT              IDENTITY (1, 1) NOT NULL,
    [DimCustomerId]                 INT              NOT NULL,
    [DimSellerId]                   INT              NOT NULL,
    [SalesDatetime]                 DATETIME         NULL,
    [DimSalesDateId]                INT              NULL,
    [SalesAmount]                   DECIMAL (28, 2)  NULL,
    [ETLCreateDate]                 DATETIME …
Run Code Online (Sandbox Code Playgroud)

sql-server indexing data-warehouse columnstore sql-server-2016

8
推荐指数
1
解决办法
579
查看次数

如何在SQL Server中使用SQL查询生成表的创建脚本

我想在我的实时数据库中生成已创建表的create table脚本.

我知道我们可以使用右键单击表生成脚本,然后单击'script table as'菜单并生成脚本.因为我的实时数据库用户界面运行速度很慢.

我想使用SQL查询执行相同的过程.有什么办法吗?

sql-server-2005

6
推荐指数
1
解决办法
4万
查看次数

为SQL Server中的数据库中的所有表生成create table sql脚本

我需要创建在其输出中将返回的SQL代码:当前数据库中所有表的CREATE TABLE sqls.有什么建议?

sql database sql-server performance

4
推荐指数
1
解决办法
1万
查看次数

如何使用SQL Server 2008中的SQL查询生成带有约束的表的创建脚本

我想在我的数据库中生成已创建表的create table脚本.

我知道我们可以使用右键单击表生成脚本,然后单击'script table as'菜单并生成脚本.因为我想通过使用SSIS包来执行它,所以我需要一个生成的修改过的数据库脚本文件.

我想使用SQL查询执行相同的过程.有什么办法吗?

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
4311
查看次数

如何在没有任何数据的情况下从现有数据库创建数据库?

我想从现有数据库创建一个数据库,而不从中获取任何数据(仅模式)。我知道,我可以使用 SQL Server Management Studio 创建一个用于此目的的脚本,但我需要一些动态执行此操作的事务 SQL 脚本

t-sql sql-server

1
推荐指数
1
解决办法
3543
查看次数