在SQL Server 2005 Management Studio中,PRINT语句的输出似乎不会立即出现:如果我有一个PRINT语句后跟一个长时间运行的语句,则PRINT输出在出现以下语句之后才会出现.
有没有办法提前刷新输出?我正在运行一些需要花费时间才能完成的升级脚本,我想知道脚本有多远(所以我知道是等待几分钟然后开始下一个,还是去吃午餐).
有人可以帮我理解何时在SQL Server中使用SNAPSHOT隔离级别而不是READ COMMITTED SNAPSHOT?
据我所知,在大多数情况下,READ COMMITTED SNAPSHOT可以正常工作,但不确定何时进行SNAPSHOT隔离.
谢谢
我想通过SQL Server管理工作室从文件(任务 - >恢复 - >数据库;从设备中选择并选择文件后)恢复数据库.
之后,我收到此错误:
在'E:\ Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\XXXXXX.mdf'上尝试'RestoreContainer :: ValidateTargetForCreation'时,操作系统返回错误'5(访问被拒绝.)'.消息3156,级别16,状态8,服务器XXXX,第2行
我该如何解决这个问题?这是安全错误吗?
我在Albums表上创建了一个简单的触发器.但是在触发器文件夹中的可编程性中,该触发器在对象资源管理器中不可见.我刷新了该文件夹,并重新启动了SSMS,但仍然没有运气.但是我可以在触发器文件夹中看到该表下的触发器.这是一个功能还是一个bug?
我正在使用SQL Server 2008.
我想选择有a的行distinct email,请参阅下面的示例表:
+----+---------+-------------------+-------------+
| id | title | email | commentname |
+----+---------+-------------------+-------------+
| 3 | test | rob@hotmail.com | rob |
| 4 | i agree | rob@hotmail.com | rob |
| 5 | its ok | rob@hotmail.com | rob |
| 6 | hey | rob@hotmail.com | rob |
| 7 | nice! | simon@hotmail.com | simon |
| 8 | yeah | john@hotmail.com | john |
+----+---------+-------------------+-------------+
Run Code Online (Sandbox Code Playgroud)
期望的结果是:
+----+-------+-------------------+-------------+
| id | title | email …Run Code Online (Sandbox Code Playgroud) 我是SQL新手.
我有这样一张桌子:
ID | TeamID | UserID | ElementID | PhaseID | Effort
-----------------------------------------------------
1 | 1 | 1 | 3 | 5 | 6.74
2 | 1 | 1 | 3 | 6 | 8.25
3 | 1 | 1 | 4 | 1 | 2.23
4 | 1 | 1 | 4 | 5 | 6.8
5 | 1 | 1 | 4 | 6 | 1.5
Run Code Online (Sandbox Code Playgroud)
我被告知要获得这样的数据
ElementID | PhaseID1 | PhaseID5 | PhaseID6
--------------------------------------------
3 | …Run Code Online (Sandbox Code Playgroud) 我正在尝试从CSV文件中添加数据库中的批量数据.
Employee表有一个列ID(PK)自动递增.
CREATE TABLE [dbo].[Employee](
[id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Address] [varchar](50) NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
我正在使用此查询:
BULK INSERT Employee FROM 'path\tempFile.csv '
WITH (FIRSTROW = 2,KEEPIDENTITY,FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n');
Run Code Online (Sandbox Code Playgroud)
.CSV文件 -
Name,Address
name1,addr test 1
name2,addr test 2
Run Code Online (Sandbox Code Playgroud)
但它会导致此错误消息:
第2行第1列(id)的批量加载数据转换错误(类型不匹配或指定代码页的无效字符).
我有这样的陈述超时:
DELETE FROM [table] WHERE [COL] IN ( '1', '2', '6', '12', '24', '7', '3', '5')
Run Code Online (Sandbox Code Playgroud)
我试着像这样一次做一个:
DELETE FROM [table] WHERE [COL] IN ( '1' )
Run Code Online (Sandbox Code Playgroud)
到目前为止,它已经到了22分钟仍在继续.
该表中有260,000行,是四列.
有没有人有任何想法为什么这会如此缓慢以及如何加快它?我确实在[COL]上有一个非唯一的非聚集索引,我在做WHERE.我正在使用SQL Server 2008 R2
更新:我没有触发器.
我有一个SQL查询(SQL Server),它生成报告,我想在临时表中存储该确切的报告,以便我以后可以使用它.现在问题是我是否需要先创建临时表,然后将SQL查询结果存储到其中,或者有没有办法动态创建表和存储查询结果?
SELECT REPLACE('<strong>100</strong><b>.00 GB', '%^(^-?\d*\.{0,1}\d+$)%', '');
Run Code Online (Sandbox Code Playgroud)
我想用上面的正则表达式替换数字的两个部分之间的任何标记,但它似乎不起作用.我不确定它是否是正则表达式语法是错误的,因为我尝试了更简单的一个,例如'%[^0-9]%'只是为了测试,但它也没有用.有谁知道我怎么能做到这一点?