我有一个文本文件,我想将其插入到数据库的表中。
我的查询如下所示:
BULK INSERT myDepartment
FROM 'C:\myDepartment-c-t.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '\t', -- default terminator
ROWTERMINATOR = '\n'
);
Run Code Online (Sandbox Code Playgroud)
在执行它时,SQL Server Management Studio 2008 给出以下错误:
BULK INSERT myDepartment
FROM 'C:\myDepartment-c-t.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '\t', -- default terminator
ROWTERMINATOR = '\n'
);
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,发现 SQL Server 2008确实支持BULK INSERT. 谁能告诉我我错过了什么?
SQL Agent Jobs,因为SSMS只显示减少的记录数system databases, 不仅是普通的log files

我有几个 GB 的导入到我的 SQL Server 2005(标准版)数据库中。
导入分为 4 个部分,每个部分在自己的事务中。
您可以猜到,事务日志文件非常大。我磁盘上的空间也有限,但应该适合数据。导入时,磁盘上的可用空间约为 2 GB。
在我的交易正在进行时缩小文件是否有效?也会有影响吗?
sql-server-2005 sql-server shrink transaction transaction-log
我在 SQL Server 2012 中有下表:
CREATE TABLE [MyTable] (
[Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT NEWID(),
[MyGroup] INT NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我想输出表格的表格
| MyGroup | Count
Max | |
Min | |
Run Code Online (Sandbox Code Playgroud)
例如,如果我30在MyTable的行,其中MyGroup的= 1,20行,其中MyGroup的= 2,和10行,其中MyGroup的= 3,然后
| MyGroup | Count
Max | 1 | 30
Min | 3 | 10
Run Code Online (Sandbox Code Playgroud)
什么样的查询会输出这些信息?
是否可以在 SQL Server 2008 R2 中回滚一整套已提交的事务而无需任何通知或日志记录?
本周末,我们在 HA 集群 SQL Server 2008 R2 环境中显然回滚了一组数据。数据存在,现在不存在。SQL Server 错误日志中没有任何内容,群集日志中也没有任何内容。最初加载数据的 SQL Server 代理作业成功运行(包括从进程本身发送的进度电子邮件)。
唯一没有回滚的是批量插入的数据。数据库设置为完全恢复,因此批量插入的数据也应该回滚,对吗?
很抱歉缺乏细节,但我真的很难过。甚至想不出还有什么地方可以看。
我有一个 Sql server 2012 代理作业,它目前每分钟、每天等运行一次。
我想修改它,使其每天每分钟运行一次,星期六晚上 7:00 到 11:30 除外。作业调度程序可以做到这一点吗?
我尝试使用每日频率,我可以通过这种方式每天更改时间,但不能更改特定日期。
当前时间表:

我正在尝试传递要在NOT IN操作中使用的项目数组:
ALTER FUNCTION [dbo].[fnTEST] (@CODES VARCHAR)
RETURNS TABLE
AS
RETURN
(
SELECT
T1.CODE AS 'CODE',
(SELECT COUNT(*)
FROM TABLE1 AS T2 WITH (NOLOCK)
WHERE T2.CODE NOT IN (@CODES)
) AS 'COUNT'
FROM TABLE1 T1 WITH (NOLOCK)
)
Run Code Online (Sandbox Code Playgroud)
然后我这样称呼它:
SELECT * FROM fnTEST ('500,250,202,900,204,200,300,400,600,800')
Run Code Online (Sandbox Code Playgroud)
那行不通。如果我尝试在没有引号的情况下调用它,则会收到参数过多的错误(这是预期的)。
有解决方案吗?
我需要安排一个每周从备份中恢复数据库的任务。我已经设置了用于备份数据库的维护计划(管理 > 维护计划),但无法找到如何执行还原任务 - 这是否需要是执行 T-SQL 语句任务,或者是否有工具箱项目?
我知道批量插入的概念,其中我将数据从平面文件加载到数据库。
现在我想将表中的数据卸载到平面文件,即我想将表中的数据导出到平面文件。谁能告诉我如何做到这一点?
我正在使用 SQL Server 2008 R2。
我在 Windows 2008 R2 x64 机器上安装 SQL Server 2012 时遇到问题。
因为我的记忆似乎正在迅速消失(根据任务管理器图),但我看不到任何程序在使用它,所以我下载了 RAMMap 以更好地了解正在发生的事情。原来我所有的记忆都被 AWE 吞噬了。
我的内存很快就被 SQL Server 吃掉了,达到我允许实例拥有的最大值(当前为 3GB)。
然而,当我尝试研究这个时,每个人似乎都说 SQL Server 2012 64 位系统没有启用 AWE,因为它不需要;AWE 启用的扩展内存可直接访问。但是系统仍然会很高兴地在 AWE 中咀嚼内存,直到达到极限。
不知道还有哪些其他信息可以帮助诊断这一点……或者即使我完全误解了某些东西……我现在对此的了解已达到极限。请不要假设我有很多知识......虽然我通常精通技术,但我绝对不是 DBA。
sql-server ×10
aggregate ×1
bulk-insert ×1
count ×1
functions ×1
memory ×1
restore ×1
shrink ×1
t-sql ×1
transaction ×1