SQLServer


# SQLSERVER Version
| Version | RTM (no SP)     | SP1 | SP2 |  SP3 |  SP4| Latest CU|
|:--------------  |:-------------|:-----------|:-----------|:-----------|:-----------| :-----------| 
| SQL Server 2022| 16.0.1000.6 ||  |   |   |  CU18(16.0.4185.3) CU17(16.0.4175.1) CU6(16.0.4055.4) |
| SQL Server 2019| 15.0.2000.5 ||  |   |   |  CU19 (15.0.4298.1)|
| SQL Server 2017|14.0.1000.169||  |   |   | CU31 (14.0.3456.2)|
| SQL Server 2016|13.0.1601.5|13.0.4001.0|13.0.5026.0|   |   |  
| SQL Server2014 |12.0.2000.8| 12.0.4100.1| 12.0.5000.0| 12.0.6024.0 or 12.3.6024.0 |  |  
| SQL Server2012 |11.0.2100.60|	11.0.3000.0 | 11.0.5058.0 |  11.0.6020.0 |11.0.7001.0|  
| SQL Server 2008 R2|10.50.1600.1| 10.50.2500.0 | 10.50.4000.0 |  10.50.6000.34 |   |  
| SQLServer 2008 |10.0.1600.22 |10.0.2531.0| 10.0.4000.0|  10.0.5500.0|  10.0.6000.29|  
| SQLServer 2005 |9.0.1399.06 |9.0.2047| 9.0.3042|  	9.0.4035|  9.0.5000|  
| SQLServer 2000 |8.0.194 |8.0.384| 8.0.532|  8.0.760|  	8.0.2039|  
| SQLServer 7.0 |7.0.623 |7.0.699| 7.0.842|  7.0.961|  7.0.1063|  

# SQL Serverと.NET Frameworkのバージョン一覧
| SQL Server| 	.NET Frameworkバージョン| 
|:--------------  |:-------------|
| SQL Server 2017| 	.NET Framework 4.6| 
| SQL Server 2016| 	.NET Framework 4.6| 
| SQL Server 2014| 	.NET Framework 3.5 SP1| 
| SQL Server 2012| 	.NET Framework 3.5 SP1| 
| SQL Server 2008 R2| 	.NET Framework 3.5 SP1| 
| SQL Server 2008	| .NET Framework 3.5 SP1| 

[製品のライフサイクルの検索](https://support.microsoft.com/ja-jp/lifecycle/search)
[Microsoft SQL Server Version List](https://sqlserverbuilds.blogspot.jp/)
[バージョン、エディション、および SQL Server の更新プログラム レベルとそのコンポーネントを確認する方法](
https://support.microsoft.com/ja-jp/help/321185/how-to-determine-the-version-edition-and-update-level-of-sql-server-an
)
[Microsoft主要製品ライフサイクル](https://qiita.com/dev-kuri734/items/8aa1adc094f7009463fa)

# Download 
[SQLServer2022](https://my.visualstudio.com/Downloads?q=SQL%20Server%202022)
[SQLServer2022 CU17](https://www.catalog.update.microsoft.com/Search.aspx?q=KB5048038)

# SQL Server Data Tools (SSDT) for Visual Studio

VisualStuido2013以降VSにインクルード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47172/5f24d868-2276-82c9-8b45-ab440a425827.png)

## SQL Server Data Tools (SSDT) 2017

### SSDTのオフラインインストール
インストール中にエラー Incorrect function (0x80070001) エラーが表示される場合
[以前のリリースの SQL Server Data Tools (SSDT と SSDT-BI)](https://learn.microsoft.com/ja-jp/sql/ssdt/previous-releases-of-sql-server-data-tools-ssdt-and-ssdt-bi?view=sql-server-ver16\ )

[個人サイト:How to Fix SQL Server Data Tools (SSDT) ​​Installation](https://en.dirceuresende.com/blog/como-corrigir-erro-na-instalacao-do-sql-server-data-tools-ssdt-2017-setup-failed-incorrect-function-0x80070001/ )

1.  vs_sql.exeをダウンロードして下記を実行
 [vs_sqlダウンロード](https://learn.microsoft.com/ja-jp/sql/ssdt/previous-releases-of-sql-server-data-tools-ssdt-and-ssdt-bi?view=sql-server-ver16#offline-install)

```shell:cmd
vs_sql.exe --layout C:\SSDT2017\ --lang en-us

vs_setup.exe --NoWeb
```

2.SSDT-Setup-JPN.exe をインストール
 [SSDT-SETUPダウンロード](https://learn.microsoft.com/ja-jp/sql/ssdt/previous-releases-of-sql-server-data-tools-ssdt-and-ssdt-bi?view=sql-server-ver16#available-languages---ssdt-for-vs-2017)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47172/96cf552d-361c-fbb0-4ce7-08c65fe199d1.png)



# Profiler
テンプレート名を空白にして、イベントに
[Stored Procedures]：StmtCompleted
[TSQL]：StmtCompleted

# SQL文
```sql:sqlgetversion
SELECT
SERVERPROPERTY('productversion') AS productversion,
SERVERPROPERTY ('productlevel') AS productlevel,
SERVERPROPERTY ('edition') AS edition
select @@VERSION
```

# SQLServerのバックアップの種類

- 復旧モデルでのバックアップの違い

| カテゴリ | 項目名 | 単純 |	一括ログ  | 完全 |
|:--------:|:-------|:--------:|:-------:|:------:|
|バックアップ |全体バックアップ	|○|	○|	○|
|バックアップ | 差分バックアップ	|○|	○|	○|
|バックアップ |トランザクションログバックアップ |	×| ○|	○|

https://rainbow-engine.com/sqlserver-recoverymodel-difference/

https://qiita.com/fuk101/items/e93a63a8ada3523a03ce

## バックアップの例外
- オンライン中（デタッチしない）のファイル、ファイルグループ(mdf,ldf)の取得は保証しない

# ライセンスの更新
[SQL Server ライセンスキーの更新／エディション アップグレード](https://qiita.com/nobta/items/6ce28f15f241ec188fbb)


# templeate の移動

tempdb データベースは ALTER DATABASE ステートメントを使用して移動できます。

 1. 次のように sp_helpfile を使用して、tempdb データベースの論理ファイル名を確認します。

```sql:sql
use tempdb
go
sp_helpfile
go
```

各ファイルの論理名は、name 列に含まれます。この例では、デフォルトのファイル名の tempdev と templog を使用します。

2.ALTER DATABASE ステートメントで、論理ファイル名を次のように指定します。

```sql:sql
use master
go
Alter database tempdb modify file (name = tempdev, filename = 'E:\Sqldata\tempdb.mdf')
go
Alter database tempdb modify file (name = templog, filename = 'E:\Sqldata\templog.ldf')
go
```

変更を確認する次のメッセージが表示されます。

```sql:sql
ファイル 'tempdev' が sysaltfiles で変更されました。SQL Server 再起動後に古いファイルを削除してください。
ファイル 'templog' が sysaltfiles で変更されました。SQL Server 再起動後に古いファイルを削除してください。
```

3.SQL Server を再開しないと、tempdb で sp_helpfile を使用して変更を確認できません。
4.SQL Server を停止した後、再開します。

# SQLServer Download
[SQL Server2019](https://my.visualstudio.com/Downloads?q=SQL%20Server%202019)

# Tutorial

[SQL Server Query Performance Guidelines Tutorial](https://www.mssqltips.com/sqlservertutorial/3200/sql-server-query-performance-guidelines-tutorial/)
[SQL Server / SQL Database アーキテクチャ ドキュメント](https://blog.engineer-memo.com/2020/01/13/sql-server-database-%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3-%e3%83%89%e3%82%ad%e3%83%a5%e3%83%a1%e3%83%b3%e3%83%88/)
[SQL Server Management Studio を使いやすくするためのカスタマイズ](https://blog.engineer-memo.com/2020/05/02/sql-server-management-studio-%e3%82%92%e4%bd%bf%e3%81%84%e3%82%84%e3%81%99%e3%81%8f%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba/)

[SQL Server のベストプラクティスについて公開されているドキュメント](https://qiita.com/Masayuki_Ozawa/items/5137f9a300e6539b3dbc)
[データ圧縮を利用する](http://www.sqlquality.com/Self2014/Self2014_AzureSQLDB/Text/Step02-17.html)
##  パフォーマンス対応
https://kojimanotech.com/2021/05/07/300/
http://mtgsqlserver.blogspot.com/2013/03/blog-post_5869.html
https://knkomko.hatenablog.com/entry/2020/04/12/012019
https://cosol.jp/license/spotlight-on-sql-server/
https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/sql-server-ec2-best-practices/configure-sql-server.html
# Tool
https://poorsql.com/

# 会社
https://cosol.jp/techdb/2022/09/rdbms_architecture_comparison/