易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

SQL Server自动异地备份方法 (精选)

SQL自动异地备份方法
方法一: 
mssql数据库远程备份的job
/*在远程机器操作系统的计算机管理里建立一个用户名为kyle的用户,密码为1234,同时在那台机器的非系统盘里建一个名为backup的共享文件夹,为了安全另外设置这个文件夹只有这个kyle用户可以访问。*/
declare @sql varchar(500)
select @sql='\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),getdate(),112) +
substring(convert(varchar(10),getdate(),108),1,2) +'.bak'
exec master..xp_cmdshell 'net use \\10.2.0.12\backup 1234 /user:remotehost\kyle'
backup database dbname to disk=@sql --备份数据库,这里的10.2.0.12为远程机器的ip,remotehost为远程机器的机器名,dbname为本地sqlserver服务器要备份的数据库
go
declare @sql varchar(500)
select @sql='del '+'\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),dateadd(day,-7,getdate()),112) +
substring(convert(varchar(10),dateadd(day,-7,getdate()),108),1,2) +'.bak'
exec master..xp_cmdshell @sql --删除7天前的备份,也就是只保留7个最新备份
go
方法二:
 用SQL自带的schedule定时把数据库b ......

SQL Server常用函数

在数据库查询数据时,我们经常使用一些函数,使我们的查询更加方便快捷,下面就把SQL Server中我们常用的几个函数给列举出来,供参考。
1.字符串函数用户控制返回给用户的字符串,这些功能仅用于字符型数据。
2.日期函数用于操作日期值,我们不能直接对日期运用数学函数。
3.数学函数用于对数值进行代数运算。
4.系统函数用来获取有关SQL Server中对象和设置的系统信息。
 
 
函 数 名
描    述
举    例
部分常用的字符串函数
Charindex
用来寻找一个指定的字符串在另一个字符串中的起始位置
Select charindex(‘accp’,’my accp course’,1) 
返回:4
Len
返回给它的字符串长度
Select len(‘SQL server 课程’)
返回:12
Upper(lower)
把传递给它的字符串转换为大写
Select upper(‘SQL server 课程’)
返回:SQL SERVER 课程
Ltrim(rtrim)
清除字符左边的空格
Select ltrim(‘ 字符 ’)
返回:字符 (后面的空格保留)
Right
从字符右边返回指定数目的字符
Select right(‘1234567890’,5)
返回:67890
Replace
替换一个字符 ......

sql server访问远程数据库

--创建链接服务器
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver  'ITSV ', 'droplogins '
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openq ......

SQL时间转换格式

select Convert( varchar(20) , 时间字段 , 格式 ) from 表 如:select Convert(varchar(20),LOGIN_DATE,112) from dbo.C_PARTY_CLIENT 100:Jun 22 2009 12:00AM 101:06/22/2009 102:2009.06.22 103:22/06/2009 104:22.06.2009 105:22-06-2009 106:22
select Convert(varchar(20),<时间字段>,<格式>) from <表>
如:select Convert(varchar(20),LOGIN_DATE,112) from dbo.C_PARTY_CLIENT
100:Jun 22 2009 12:00AM
101:06/22/2009
102:2009.06.22
103:22/06/2009
104:22.06.2009
105:22-06-2009
106:22 Jun 2009
107:Jun 22, 2009
108:00:00:00
109:Jun 22 2009 12:00:00
110:06-22-2009
111:2009/06/22
112:20090622
113:22 Jun 2009 00:00:00
114:00:00:00:000
120:2009-06-22 00:00:00.
126:2009-06-22T00:00:00
127:2009-06-22T00:00:00
131:29/06/1430 12:00:00:
 附上时间比较:
SELECT * from [TABLE] where   convert(varchar(10),<时间字段>,111) = @Time
SELECT * from ManualSign where  SignTime  BETWEEN  convert(datetime,@beginTime )  AND&nbs ......

解决SQL 死锁的语句

ALTER     procedure [dbo].[sp_lock_check]
@spid1 int = NULL,               
@spid2 int = NULL               
as
set nocount on
if @spid1 is not NULL
begin
        select         convert (smallint, req_spid) As spid,
                loginame=rtrim(loginame),hostname ,t2.name,
                rsc_dbid As dbid,
                rsc_objid As ObjId,
                rsc_indid As IndId,
                substring (v.name, 1, 4) As Type,
                substring (rsc_text, 1, 16) as Resource,
                substring (u.name, 1, 8) As Mode,
      &n ......

SQL语句的优化以及索引的应用范围

SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低。
调整不良SQL通常可以从以下几点切入:
检查不良的SQL,考虑其写法是否还有可优化内容;
检查子查询考虑SQL子查询是否可以用简单连接的方式进行重新书写;
检查优化索引的使用;
考虑数据库的优化器;
查询的一般规则
Ø       明确指出检索的字段,尽量减少对多余的列与多余的行读取。
禁止使用 select * from table ……的方式访问表。
Ø       在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。
Ø       查询时尽可能使用索引覆盖。即对SELECT的字段建立复合索引,这样查询时只进行索引扫描,不读取数据块。
Ø       在判断有无符合条件的记录时不要用SELECT COUNT (*) 语句。 如:
BF: select count(*) from table where condition
在MSSQL和Sybase中,使用 if exists (select 1 from table_name where condition)性能较好,在Oracle中,使用select 1 from table_name where con ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [2182] [2183] [2184] [2185] 2186 [2187] [2188] [2189] [2190] [2191]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号