您需要使用命令行参数BCP将原始(本机)格式的数据转储到二进制文件中。然后在另一台服务器上,您可以将这些二进制数据批量插入到具有相同结构的表中
这里有一些代码
出口
我从空间大师那里学到了这一切,在他的帮助下,在这条讨论线索中
Isaac在本引文中强调了采用BCP方法的原因:
值得指出的是,WKB是一个
有损格式,因为它没有
存储SRID。所以如果你提取
插入WKB,您必须随身携带
SRID是你自己的。我们的内部
二进制格式存储SRID,因此
像这样的BCP应该不会那么麻烦
嗯
编辑:将整个帖子
要么SQLServerManagementStudio 2008中的自动完成有缺陷,要么我有缺陷。无论哪种方式,当我尝试键入此内容并点击空格键时:
SELECT TOP
Autocomplete立即将其更改为此(主题是我们其中一个数据库中的一个表,顺便说一句):
有没有办法解决这个问题,或者至少可以优雅地解决这个问题?我认为当intellisense弹出窗口出现时,您所能做的就是按ESC键,它将取消它所做的任何更改,或者通过进入文本编辑器->Transact-SQL->intellisens
我在2008年SSRS上有一份报告,其中显示了从四个分组级别聚合的数据。我正在使用ASP.NET ReportViewer控件在我的Web窗体上显示报告
如果我详细显示所有四个级别,报告会非常长(数百页)。因此,我希望在呈现报告时将默认级别设置为显示(1-4)——我通过在第一次呈现报告时设置INT(@ShowLevel)类型的报告参数来实现这一点
如果tablix中的行所在的级别大于@ShowLevel值,则将其设置为隐藏,例如,如果@ShowLevel=2,则级别3和级别4中的行的“隐藏”属性
是否可以获取使用TDE的数据库并创建未加密的备份文件
我知道我可以创建备份,导入到另一个数据库(使用密钥和证书),关闭TDE并创建备份
我想知道是否有更直接的方法。没有。这将破坏TDE的目的。如果备份未加密,则任何人都可以轻松获得数据库的副本
以下是我的配置:
我有一个可重新运行的批处理脚本,用于更新数据库
在批处理脚本中,我有如下代码:
如果表“A”不存在,则创建表“A”并在其中插入行
稍后,在该批处理脚本中,我在该表上创建了一个schemabigene索引视图。
如果你还不知道
有时,当我重新运行脚本时(即在创建表之后),SQL Server Management Studio会计算“插入行”代码,该代码受“If this table not existence”(如果此表不存在)代码保护,并产生以下错误:
Msg 19
我希望插入或更新表中的一行,因此我希望尝试使用语法。我的问题是我的数据(要插入/更新)存在于变量表中。我不知道如何为插入/更新部分编写正确的语法
这是我的PSEDOO代码:-
-- Here's the Variable Table ... and not it has not PK.
DECLARE @PersonId INTEGER
DECLARE @variableTable TABLE (
@SomeScore DECIMAL(10,7),
@SomeAverage D
有没有办法阻止无法访问MS SQL Server数据库的用户列出这些数据库?目前,如果我在数据库a上设置用户,我仍然可以看到数据库B、C、D、E等,尽管我没有访问它们的权限。所有SQL登录都是“公共”服务器级别角色的成员,默认情况下,该角色具有访问权限。
这将撤销该权限:
REVOKE VIEW ANY DATABASE FROM public
这也会从所需的登录中删除视图数据库。有没有办法让用户至少可以看到自己的数据库?从您提供的页面:“要限制对数据库元数据的可见性,请拒绝登录并查看任何数据
有没有一种方法可以导入一个表并在此时包含一个增量主键
我正在导入一个平面文件,但我希望SQL Server为其添加一个增量主键
有没有办法避免这样做:
创建时态表
将所有数据插入时态表
更改时态表并添加它
主键
我想这样做要花很多时间…像这样:
SELECT IDENTITY(int,1,1) AS ID, *
INTO #newtable
FROM dbo.OldTable;
但我建议您调查您的特定问题,并可能使用排名函数解决它。只需在目标表上设置一个标识列即可。因此,这是否必要??:更改表
您好,我有一个SQL查询:
select DateDiff(d,StartDate, EndDate) DaysEmployed from ClientDayActivity
我希望这个变成这样:
EmployDays = CASE WHEN NOT end_date IS NULL THEN
DATEDIFF(d,start_date, end_date) ELSE
DATEDIFF(d,start_date, CONVERT(DATETIME, '" & Cstr(strEn
有人有过这样的经历吗?我使用Visual Studio 2010和SQL Server 2008在笔记本电脑上运行Windows 7 x64。我正在考虑这是否可能,以及使用PGP、OpenCrypt或其他实用程序加密驱动器对性能的影响
我想到了以下场景,我将使用这些场景:
1.直接加密驱动器及其所有内容。
2.创建第二个未加密的分区,将SQL数据文件移动到该分区,并将SQL Server指向该路径。
3.创建第二个未加密的分区,并将SQL Server与其数据文件一起安装到该路径
有什么想法吗
我在两台不同的SQLServer2008上有相同的数据库模式。我在本地安装了一台服务器,另一台是公司的live server。我在本地机器上安装了一个应用程序,我的问题是,每当我在两台SQL服务器(本地和实时)上运行应用程序数据时,都应该同步,以便在两台服务器上保持相同的数据库。我的数据库包含5个表
谢谢有几种方法可以做到这一点,最佳选择取决于
两台SQL Server是否始终可用
1是否为master和on只是一个副本
由于你的问题有点含糊,我现在想不起其他事情
然而,要看的东西包括
SQL
我有一张这样的桌子:
column1 column2
------- -------
key1 value1
key1 value2
key1 value3
key2 value4
key2 value5
key2 value6
我想创建以下两个表:
id column1
-- -------
1 key1
2 key2
key_id column2
------ -------
1 value1
1 value2
1 v
我需要一个查询,它可以用于(或作为)一个函数,并检索n个值的所有排列。我需要所有长度为k的排列,其中k=1..n
编辑#1:扩展样本输入和结果,因此输入有3个值而不是2个值-但是,输入值的数量可能从1到n不等
例如:
输入:一列多行中包含值的表
Value (nvarchar(500))
------
Ann
John
Mark
编辑#2:我可以接受以下任何输出
输出#1:在一列中串联值的表
Ann
John
Ann,John
我有两个表A和B。表A是源,B是目标。根据某些条件,我将从A更新B中的现有行(仅选择性列),或者从A插入B中的新行。A和B具有相同的列。我可以使用MERGE来实现这一点
现在,如果表B中的行被更新,我需要更新第三个表C中的一些记录。是否可以在下面的语句中这样做
MERGE B
USING A
ON A.somecolumn = B.somecolumn
WHEN MATCHED THEN
UPDATE
SET
B.somecolumn1 = A.somecolumn1,
B.somecol
如何在SQL Server中将13位数字(如1314637182953)转换为datetime?强制转换和直接转换都会产生算术溢出错误
与下面的查询结果相同:
select Convert(datetime, cast(START_DATE as varchar(8)), 112), *
from table
假设以毫秒为单位,请尝试以下操作:
DATEADD(SECOND, START_DATE/1000 ,'1970/1/1')
对于您帖子中的数字,SQL-2008返回2011-08-
如果有一个名为employee的表
EmpID EmpName
---------- -------------
1 Mary
1 John
1 Sam
2 Alaina
2 Edward
结果我需要以下格式:
EmpID EmpName
---------- -------------
1
嗨,有没有简单的方法把小时转换成秒?通过使用sql查询
例:@mytime=2:15小时
预期输出为@result=8100秒
2*3600+15*60=8100
谢谢您已经介绍了最简单的方法8-)
如果要转换小时字符串,则:
DECLARE @str VARCHAR(10) = '5:35'
SELECT
CAST(SUBSTRING(@str, 1, CHARINDEX(':', @str, 1)-1) AS INT)*3600+
CAST(SUBSTRING(@str,
在SQLServer2008中工作。我第一次尝试SSIS脚本,需要模拟一些用VB.net编写的if/then条件逻辑。我以前找不到任何关于表达式中嵌套条件的问题,我相信我是在遵循通过google在派生列中的嵌套条件上所发现的内容
尝试在派生列转换编辑器中使用嵌套条件时收到错误。我收到的错误表明SSIS无法解析我的表达式。实际异常:“来自HRESULT的异常:0xC0204006(Microsoft.SqlServer.DTSPipelineWrap)”
这些问题的答案可能会立即回答我的问题(并创
我试图通过在EJB无状态会话bean中使用Hibernate从存储过程中检索结果
存储过程正在MS SQL Server 2008上运行,并将一个整数作为参数,然后返回另一个整数
我设法使用
Query q = em.createNativeQuery("name_of_my_procedure :param");
q.setParameter("param", sequence);
q.executeUpdate().
使用getResultList或getSingleResult而不是ex
我的数据库中有一个组织表和一个站点表
该应用程序安装在不同的地理站点,每个站点都有自己的本地数据库
我正在使用sqlazure同步组每周同步一次所有站点数据。所有其他数据可以在一周内同步,但是这一个表Site-每当插入新站点时,我需要该站点的唯一标识符-我知道我可以使用我在其他地方使用过的GUID,但只需要使用INT
如果我使用INT,则可能在不同位置插入相同的INT键,这在同步时会导致覆盖记录和丢失站点
对于插入到此表中的每条记录,我可以为其设置唯一的INT主键吗
请告诉我任何可能的解决方案。
我使用内部激活设置了一个单机服务代理,代理正在处理放置在队列上的项目,并且似乎正在正确关闭对话(请参阅下面的配置文件详细信息)
sys.conversation_端点中以CD关闭状态保留的一条记录,其安全时间戳将在未来30分钟内设置,但该记录永远不会被删除
我也有自己的日志来显示发生了什么唯一奇怪的是,启动器过程被调用时,会话句柄、消息类型和消息体(日志信息中的最后一项)的值为空
我已经包括了一个脚本(名称已更改,不表示实际名称),它将创建我正在使用的所有对象,为了模拟我如何使用它们,只需执行:
如何执行系统命令,如dir,而不是xp\u cmdshell?我看不出任何问题,下面是一个示例:
dstest是一个远程服务器
编辑
运行此命令可激活:
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure
在master db上执行此查询后,它将为我提供所有数据库上所有正在运行的进程,
是否有任何查询会终止数据库上运行的所有进程
USE
Master
GO
SELECT
SPID,DBID FROM SYSPROCESSES
WHERE
DBID NOT IN (1,2,3,4) AND SPID >50 AND SPID<> @@spid
使用
主人
去
挑选
来自sysprocesss的SPID、DBID
哪里
DBID不在(1,2,3,4)中且SPID>50且SP
我是报表设计器新手,正在尝试创建我的第一个报表。
我已经创建了一个JDBC数据源,但是当我尝试预览查询时,我得到一个错误异常:
java.lang.NullPointerException
当我的查询没有“连接”时,我可以预览结果,所以我认为这与此有关。
我的sql查询如下所示:
select
table1.column_x, --data type: tinyint
table2.column_y --data type: varchar(max)
from schema_name.table
我有一组数字,比如:111111234512346,存储在c代码的列表中。我需要将此列表与sql数据库中类似于此的数字列进行比较,并找出是否存在匹配的数字。以下是我正在做的事情:
foreach (number in numbers)
{
//get column data through sql reader and iterate through it:
foreach(column in columnData)
{
if(number == colum
我有一个通过SQL代理计划的作业。计划每2分钟运行一次。当我查看工作历史日志时,我看到它已经运行过一次。但当我查看表时,它插入了两条记录,两条记录之间的时间差只有几毫秒
我试图找出它发生的原因,并试图阻止这种情况发生。
我在Windows server 2008上使用的Sql server版本是2008
存储过程不是任何prolem,在插入之前,我会检查是否不存在(在表中),然后插入。而且那张桌子上也没有触发器
谢谢您删除查询中的所有nolock提示,并检查您的程序是否有任何2个INSERTST
我需要查询SQL Server表中的列数。此
select count(*) from table
*表示所有列
select count(*) from your_table
计数所有行,即使某些记录包含NULL条目
select count(some_column) from your_table
计数某些列不为空的记录请编辑您的问题-标题和正文有两个完全不同的问题。从sys.columns中选择计数(*),其中object\u id=object\u id('tablename')*
所有外键都已构成群集的主键。此事实表是包含6个维度(Id的6、7和8引用相同的日期维度)的星型架构的一部分
事实表目前大约有1800行(非常小),预计每个月都会以这个数量增长
每个外键是否应该有自己的非聚集非唯一单列索引以便于联接?如果是,为什么
每个外键都是其维度表中聚集索引(主键)的一部分
如果索引应该放在外键上,那么如果列的基数较低,填充因子和填充索引应该设置为什么?首先,我认为不应该基于外键创建集群主键。聚集索引用于组织磁盘上的数据,最好是
狭窄的
数字的
递增(严格单调)
因此,我
我有2个表,表2包含了许多商店的地址。表2按车间ID与表1的参考
我想这样选择[参见图片]
请帮帮我
您可以使用行编号():
见
您还可以使用聚合函数:
select t1.shop_id,
t1.shop_name,
max(t2.shop_address) shop_address
from Table1 t1
inner join table2 t2
on t1.shop_id = t2.shop_id
group by t1.shop_id, t1.shop_name
请
我的桌子是:
Logtime Energy
------------------- --------
2013-02-22 15:30:00 36883.79
2013-02-21 17:30:00 36767.68
2013-02-20 17:30:00 35447.97
2013-02-19 17:30:00 34170.04
2013-02-18 15:30:00 32663.54
2013-02-15 17:30:00 31649.39
2013-
我看到很多用户发布了他们的数据库设置,他们看起来像这样:
$db['local']['dbdriver'] = 'sqlsrv';
$db['local']['dbprefix'] = '';
$db['local']['pconnect'] = FALSE;
$db['local']['db_debug'] = TRUE;
$db['local']['cache_on'] = FALSE;
$db['local']['cachedir'] = '';
$db['loca
我正在为一个学校项目制作一个网站。下载了VisualStudio2010(我们学校的版本),现在我正试图在上面运行我的网站。
SQL无法连接。我尝试了我知道的一切,但没有任何效果。
尝试在SQLServerManagementStudio中连接时,我的用户会显示“登录失败”。顺便说一下,我正在尝试windows身份验证,尝试查看SQL错误日志,但没有任何错误
我感到非常沮丧,我在网上看到的每一个答案都涉及到真实的网站和我不理解的术语。我只是想让我的数据库正常工作!请,请帮忙
不知道该怎么办
编辑
嗨,我有一个站点地图表和一个层次结构表
USE [EB_NEW]
GO
/****** Object: Table [dbo].[COMMON.SITEMAP] Script Date: 07/24/2013 06:13:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[COMMON.SITEMAP](
[ID] [i
实际数据
colA group_date type desc actual_date
ABC123 1/15/2013 A TEST1 1/17/2013
ABC123 1/15/2013 B TEST1 1/17/2013
ABC123 1/15/2013 A TEST2 1/19/2013
ABC123 1/15/2013
--Datetime格式='2013-10-21 12:12:12.000'
--显然语法很差,但是你可以看到我在做什么
select personnum, convert(decimal, shiftEndDate, 4)-convert(decimal, ShiftStartDate, 4) as ShiftInSeconds
from dbo.Time
where shiftStartDate between '2013-10-14 00:00:00.000' and '2013-10-2
我有一组具有优先级列的数据。权力机构决定,他们需要以下优先顺序:
AA
A
B
C
D
E
当我尝试分类时,我得到
A
AA
B
C
D
E
有什么办法可以改变吗
干杯
史蒂夫按列的长度排序
试试这个:
SELECT Col FROM Table1
ORDER BY LEN(Col) desc,Col
如果这是一个静态结果集,您可以执行以下操作:
SELECT * FROM yourTable
ORDER BY CASE WHEN yourColumn = 'AA' THEN
我在SQLServer2008中设计了一个图表。
如图所示:
现在在Value表中,我为Feature和ProductDetail设置了级联删除,但我看到了以下错误:
“功能”表已成功保存“ProductDetail”表已保存
已成功创建“值”表
-无法创建关系“ValueFeature”。在表“Value”上引入外键约束“ValueFeature”可能会导致循环或
多个级联路径。指定在删除时不执行任何操作或在更新时不执行任何操作
操作,或修改其他外键约束。无法创建
约束。请参阅前面的错误
我
我有一个带有日期列表的表,我想在添加新列时将其合并在一起。我在下面粘贴了一个示例:
Date
03/03/2014
03/03/2014
03/03/2014
04/03/2014
04/03/2014
04/03/2014
04/03/2014
这是第一个表,但是我想自联接它,所以它看起来像这样:
Index_Date Date
03/03/2014 03/03/2014
03/03/2014 03
在SQL Server 2008中,如果Print或Select语句不必要地打印消息,是否会导致存储过程性能降低?例如,打印“成功完成”或选择“成功完成”打印语句不应影响存储过程的性能
但是请注意,语句“打印”到SQLServerManagementStudio中的Messages窗口——它不会在任何地方显示到应用程序代码(例如执行该SP的.Net代码) 少量打印语句对性能的影响可以忽略不计-但是,在执行数千次的循环中打印很可能会导致性能问题。您好,谢谢您的回复。我在SP中使用的print语句如
从表1中选择选择计数*并从表2中选择计数*作为
这用于在sql server 2008中添加两个计数查询
有更好的方法吗?这对我来说似乎是一种合适的方法-有什么问题吗?@user2864740只是想知道是否有更好的方法和替代方法。查询工作正常。谢谢。你能解释一下为什么这个比前一个好吗?查询本身不会对OP说任何话。它只是另一个查询,返回与原始was相同的结果。要比较两个查询,我们需要它们的执行计划。
SELECT SUM(F) FROM (
SELECT COUNT(*) as F from
这是我的CTE:
with empcount(depid,totalemp)
as
(
select depid, COUNT(*) as totalemp
from emp
group by depid
)
我得到一个错误:
味精102,第15级,状态1,第7行
“')附近的语法不正确
您必须使用CTE,例如使用选择:
WITH empcount(depid, totalemp)
AS (SELECT depid,
Cou
使用SQL Server 2012,使用UNION和UNION这两个使用DISTINCT的查询之间有什么区别?即
SELECT Columns FROM A
UNION
SELECT Columns FROM B
对
SELECT DISTINCT Columns FROM A
UNION
SELECT DISTINCT Columns FROM B
上述查询之间有什么区别?结果没有区别,因为UNION消除了重复项
仅供参考,UNION ALL将按选定的顺序保留所有行(如简单的附加)
向联合
我能够通过下面的查询保持一个运行的总数,它做得很好。我真正想要的是,当差距字段大于或等于date_diff字段时,运行总数应重置为当前hrly_数量。我确信我可以用光标来实现我的结果,但我想知道其他可能的方法。想法
例如:
WITH CTE AS
(
SELECT a.*, SUM(b.hrly_qty) AS running_total, c.gap
FROM #tmpTrxhist2 a
INNER JOIN #tmpTrxh
我正在尝试找出将SQL Server 2005数据库从两个不同的物理服务器传输到运行Windows Server 2008 64位的新服务器的最佳方法
我拥有Microsoft SQL Server 2005 32位标准版的完整注册副本。然而,我所有的SQL Server数据库加起来只有4GB大小,因此SQL Server 2008 Express成为一种选择
以下是服务器的细分:
(旧服务器1)Windows 2003 Server 32位-SQL Server 2005 Express 32
你好,
我需要你的帮助。我正在尝试使用两个现有表(表1和表2)创建一个新表。我没有
了解我可以使用什么样的SQL Server技术来解决此问题
让我们将新表命名为“My_table”,它包含表1和表2中的所有数据
我想将此表保存在数据库中,并在将来使用它
任何帮助都将不胜感激
您可以尝试使用这两个select的子句和a
SELECT A AS A1, B AS B1, C AS C1
INTO My_Table
FROM TABLE1
UNION
SELECT E2 AS A1, F2 AS
在我们的MSSQL server 2008 R2环境中,我们有一个基于年度分区函数进行分区的表
我们需要在此表上定义一个视图,并希望在对此查询运行查询时利用表分区
从以下引用自MSDN的文本中,我了解到我们需要在分区表上创建检查约束
分区视图返回时不需要检查约束
正确的结果。但是,如果尚未设置检查约束
定义后,查询优化器必须搜索所有表,而不是
仅包含分区列上的搜索条件
请建议我如何做到这一点。如果我的方法有误,请帮我改正。分区表和分区视图是不同的。如果你已经有一个分区表,你不需要在上面定义一个分
我有一个SQL Server 2008表,表中的列表示每12个月一次。我想找到连续两个月余额为负的行
编辑:我需要对所有的正数列求和,所以我使用了这个。如果有人知道更简单的方法,请告诉我
SELECT SUM(case when Oct > 0 then Oct else 0 end) +
SUM(case when Nov > 0 then Nov else 0 end) +
SUM(case when Dec > 0 then D
我试图运行一个简单的查询,只选择在特定日期收到的请求
以下是我所拥有的:
select * from [Table Name] WHERE received_when(column name) like '2015-08-02%'
以下是我从[表名]执行select*操作时的列结果
2015-08-02 22:33:11.337
2015-08-02 22:33:57.243
2015-08-02 22:49:49.617
2015-08-02 22:50:34.600
2015-
我得到了一个如下的查询,在SQLServer2008中执行
SELECT
ipm.HEORG_REFNO,
ipm.HOTYP_REFNO,
ipm.CASLT_REFNO,
ipm.HOLVL_REFNO,
IPM.MAIN_IDENT,
...
FROM
dbo.HEALTH_ORGANISATIONS ipm (NOLOCK)
LEFT JOIN
(
将所有Sql Server 2008字符串列设置为varchar(max)是否有任何问题?我允许的字符串大小由应用程序管理。数据库应该只保留我给它的内容。在Sql Server 2008中,无论实际输入的数据大小如何,我都会将所有字符串列声明为varchar(max)类型,这会影响性能吗?Simon Sabin不久前曾就此写过一篇文章。我现在没有时间抓取它,但是你应该搜索它,因为他得出结论,默认情况下你不应该使用varchar(max)
编辑:Simon有一些关于varchar(max)的帖子。
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 250 页