SQL Server
最后更新于:2022-04-02 03:58:06
[TOC]
## dsn
```
sqlsrv:Database=demo;Server=127.0.0.1[,1433]
```
## 安装
链接: https://pan.baidu.com/s/1bSZF3F4MghBa7JfUma5f9g
提取码: jdsk
[安装教程](https://www.jianshu.com/p/b274413db5a2)
### 启动账户密码登录(启动sa)
`SQLServer Management Studio软件 ->用windows身份验证连接->左侧资源管理器展开->安全性 ->sa->属性`
在`常规`设置密码,在`状态`开启登录启用
### sqlserver 针对 php 的驱动
[微软官网驱动](https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017)
## sql 相关
### 创建表
```
CREATE TABLE oauth_client (
APP_ID nvarchar(50) ,
APP_SECRET nvarchar(50) DEFAULT '',
APP_NAME nvarchar(50) DEFAULT '',
APP_ICON nvarchar(255) DEFAULT '',
APP_CREATE_DATE bigint DEFAULT '0',
APP_IS_SYSTEM int DEFAULT '0',
APP_STATUS int DEFAULT '1',
APP_DESC nvarchar(255) DEFAULT '',
APP_CREATE_NAME nvarchar(50) DEFAULT '',
PRIMARY KEY (APP_ID)
) ;
```
### 创建索引
不能在创建表时,添加
### 非聚集索引
```
create index index_send_date on im_msg_rece_201912 ( SEND_DATE desc );
```
## 问题
### 无法获得数据库 'model' 上的排他锁。请稍后重试该操作
用查看系统进程语句查看model数据库被哪些进程占用了,找到进程id,然后用kill命令杀掉占用进程
```
use master
-- 查看被哪些进程占用
select spid from master.sys.sysprocesses where dbid = db_id('model');
-- 杀掉进程
declare @sql varchar(100)
while 1=1
begin
select top 1 @sql = 'kill '+cast(spid as varchar(3))
from master..sysprocesses where spid > 50 and spid <> @@spid and dbid = db_id('model')
if @@rowcount = 0
break ;
print(@sql) --打印杀掉进程语句
exec(@sql) --执行杀掉进程语句
end
go
```
';