├── .editorconfig
├── .gitattributes
├── .gitignore
├── LICENSE
├── docs
└── SQLSat696
│ ├── Advanced SQL Server troubleshooting with SQLCallStackResolver.pptx
│ └── Demos
│ ├── AV
│ ├── SQLDump0011.txt
│ ├── repro.sql
│ └── resolved.txt
│ ├── Common
│ ├── LINQPad.exe.config
│ ├── lprun.exe.config
│ ├── tempdb.sql
│ └── tempdb_linux.sql
│ ├── LOCK_HASH
│ ├── SpinlockData.xml
│ ├── XESpins_0_131627061603030000.zip
│ ├── base_addresses.txt
│ ├── extraprocs.sql
│ ├── monitor.sql
│ ├── repro.linq
│ ├── resolved.txt
│ ├── setup.sql
│ └── xe_session.sql
│ ├── Memobj
│ ├── MemObjData.xml
│ ├── Resolved.txt
│ ├── TraceMemObj.sql
│ ├── memobjleak.linq
│ └── monitor.sql
│ ├── OOM
│ ├── CallStack.xml
│ ├── ERRORLOG
│ ├── resolved.txt
│ └── xe_session_701.sql
│ ├── PAGELATCH_EX
│ ├── Monitor.sql
│ ├── repro.sql
│ ├── resolved.txt
│ └── waitdata.xml
│ ├── PAGELATCH_UP
│ ├── CacheDB_StoredProcs.sql
│ ├── CacheDB_Tables.sql
│ ├── Monitor.sql
│ ├── cleanupthread.sql
│ ├── repro.linq
│ └── setup.sql
│ └── xe_wait_completed_0_132353446563350000.xel
├── lastupdated.txt
├── readme.md
└── sqlbuildinfo.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.cs]
2 |
3 | # CA1051: Do not declare visible instance fields
4 | dotnet_diagnostic.CA1051.severity = none
5 |
6 | # CA1303: Do not pass literals as localized parameters
7 | dotnet_diagnostic.CA1303.severity = none
8 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | [Xx]64/
19 | [Xx]86/
20 | [Bb]uild/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 | # Uncomment if you have tasks that create the project's static files in wwwroot
28 | #wwwroot/
29 |
30 | # MSTest test Results
31 | [Tt]est[Rr]esult*/
32 | [Bb]uild[Ll]og.*
33 |
34 | # NUNIT
35 | *.VisualState.xml
36 | TestResult.xml
37 |
38 | # Build Results of an ATL Project
39 | [Dd]ebugPS/
40 | [Rr]eleasePS/
41 | dlldata.c
42 |
43 | # DNX
44 | project.lock.json
45 | artifacts/
46 |
47 | *_i.c
48 | *_p.c
49 | *_i.h
50 | *.ilk
51 | *.meta
52 | *.obj
53 | *.pch
54 | *.pdb
55 | *.pgc
56 | *.pgd
57 | *.rsp
58 | *.sbr
59 | *.tlb
60 | *.tli
61 | *.tlh
62 | *.tmp
63 | *.tmp_proj
64 | *.log
65 | *.vspscc
66 | *.vssscc
67 | .builds
68 | *.pidb
69 | *.svclog
70 | *.scc
71 |
72 | # Chutzpah Test files
73 | _Chutzpah*
74 |
75 | # Visual C++ cache files
76 | ipch/
77 | *.aps
78 | *.ncb
79 | *.opendb
80 | *.opensdf
81 | *.sdf
82 | *.cachefile
83 | *.VC.db
84 |
85 | # Visual Studio profiler
86 | *.psess
87 | *.vsp
88 | *.vspx
89 | *.sap
90 |
91 | # TFS 2012 Local Workspace
92 | $tf/
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 | *.DotSettings.user
101 |
102 | # JustCode is a .NET coding add-in
103 | .JustCode
104 |
105 | # TeamCity is a build add-in
106 | _TeamCity*
107 |
108 | # DotCover is a Code Coverage Tool
109 | *.dotCover
110 |
111 | # NCrunch
112 | _NCrunch_*
113 | .*crunch*.local.xml
114 | nCrunchTemp_*
115 |
116 | # MightyMoose
117 | *.mm.*
118 | AutoTest.Net/
119 |
120 | # Web workbench (sass)
121 | .sass-cache/
122 |
123 | # Installshield output folder
124 | [Ee]xpress/
125 |
126 | # DocProject is a documentation generator add-in
127 | DocProject/buildhelp/
128 | DocProject/Help/*.HxT
129 | DocProject/Help/*.HxC
130 | DocProject/Help/*.hhc
131 | DocProject/Help/*.hhk
132 | DocProject/Help/*.hhp
133 | DocProject/Help/Html2
134 | DocProject/Help/html
135 |
136 | # Click-Once directory
137 | publish/
138 |
139 | # Publish Web Output
140 | *.[Pp]ublish.xml
141 | *.azurePubxml
142 |
143 | # TODO: Un-comment the next line if you do not want to checkin
144 | # your web deploy settings because they may include unencrypted
145 | # passwords
146 | #*.pubxml
147 | *.publishproj
148 |
149 | # NuGet Packages
150 | *.nupkg
151 | # The packages folder can be ignored because of Package Restore
152 | **/packages/*
153 | # except build/, which is used as an MSBuild target.
154 | !**/packages/build/
155 | # Uncomment if necessary however generally it will be regenerated when needed
156 | #!**/packages/repositories.config
157 | # NuGet v3's project.json files produces more ignoreable files
158 | *.nuget.props
159 | *.nuget.targets
160 |
161 | # Microsoft Azure Build Output
162 | csx/
163 | *.build.csdef
164 |
165 | # Microsoft Azure Emulator
166 | ecf/
167 | rcf/
168 |
169 | # Windows Store app package directory
170 | AppPackages/
171 | BundleArtifacts/
172 |
173 | # Visual Studio cache files
174 | # files ending in .cache can be ignored
175 | *.[Cc]ache
176 | # but keep track of directories ending in .cache
177 | !*.[Cc]ache/
178 |
179 | # Others
180 | ClientBin/
181 | [Ss]tyle[Cc]op.*
182 | ~$*
183 | *~
184 | *.dbmdl
185 | *.dbproj.schemaview
186 | *.pfx
187 | *.publishsettings
188 | node_modules/
189 | orleans.codegen.cs
190 |
191 | # RIA/Silverlight projects
192 | Generated_Code/
193 |
194 | # Backup & report files from converting an old project file
195 | # to a newer Visual Studio version. Backup files are not needed,
196 | # because we have git ;-)
197 | _UpgradeReport_Files/
198 | Backup*/
199 | UpgradeLog*.XML
200 | UpgradeLog*.htm
201 |
202 | # SQL Server files
203 | *.mdf
204 | *.ldf
205 |
206 | # Business Intelligence projects
207 | *.rdl.data
208 | *.bim.layout
209 | *.bim_*.settings
210 |
211 | # Microsoft Fakes
212 | FakesAssemblies/
213 |
214 | # GhostDoc plugin setting file
215 | *.GhostDoc.xml
216 |
217 | # Node.js Tools for Visual Studio
218 | .ntvs_analysis.dat
219 |
220 | # Visual Studio 6 build log
221 | *.plg
222 |
223 | # Visual Studio 6 workspace options file
224 | *.opt
225 |
226 | # Visual Studio LightSwitch build output
227 | **/*.HTMLClient/GeneratedArtifacts
228 | **/*.DesktopClient/GeneratedArtifacts
229 | **/*.DesktopClient/ModelManifest.xml
230 | **/*.Server/GeneratedArtifacts
231 | **/*.Server/ModelManifest.xml
232 | _Pvt_Extensions
233 |
234 | # LightSwitch generated files
235 | GeneratedArtifacts/
236 | ModelManifest.xml
237 |
238 | # Paket dependency manager
239 | .paket/paket.exe
240 |
241 | # FAKE - F# Make
242 | .fake/
243 | /Samples/ctp1.2.testing.txt
244 | /Samples
245 | /docs/SQLSat696/Demos/AV/SQLDump0011.mdmp
246 | /docs/SQLSat696/Demos/LOCK_HASH/XPerfData
247 | /docs/SQLSat696/Demos/LOCK_HASH/XESpins_0_131627061603030000.xel
248 | /docs/SQLSat696/Symbols
249 | /docs/SQLSat696/Demos/LOCK_HASH/perfmonsettings.htm
250 | /docs/SQLSat696/Demos/Private
251 | /Tests/TestCases/TestOrdinal/sqldk.dll
252 | /SQLCallstackResolver.Downloader
253 | /SQLBuilds.xlsx
254 | /Downloader
255 | /sqlbuildinfo.zip
256 | /Downloader
257 | /Tests/TestCases/ImportXEL/*.xel
258 | /TestResults/
259 | Tests/TestCases/ImportXEL/base_addresses.txt
260 | copybinaries.ps1
261 | copypdbs.ps1
262 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Arvind Shyamsundar
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Advanced SQL Server troubleshooting with SQLCallStackResolver.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Advanced SQL Server troubleshooting with SQLCallStackResolver.pptx
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/AV/SQLDump0011.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/AV/SQLDump0011.txt
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/AV/repro.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE [dbo].[References]
2 | (
3 | INDEX [GRAPH_UNIQUE_INDEX_References] UNIQUE NONCLUSTERED ($edge_id),
4 | INDEX [GRAPH_FromTo_INDEX_References] ($from_id, $to_id),
5 | INDEX CCI_References CLUSTERED COLUMNSTORE,
6 | dummy bit
7 | )
8 | AS EDGE
9 |
10 | /*
11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17 | SOFTWARE.
18 |
19 | This sample code is not supported under any Microsoft standard support program or service.
20 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
21 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
22 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
23 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
24 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
25 | */
26 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/AV/resolved.txt:
--------------------------------------------------------------------------------
1 | sqllang!CIndexDef::CreateIndex
2 | sqllang!E_CNSTINDEX::Execute
3 | sqllang!E_CNSTCRT::Execute
4 | sqllang!CTableCreate::CreateRelation
5 | sqllang!CTableCreate::LCreateImpl
6 | sqllang!CStmtCreateTable::XretCreateTableExecute
7 | sqllang!CXStmtCreateTableDDL::XretExecute
8 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
9 | sqllang!CMsqlExecContext::FExecute
10 | sqllang!CSQLSource::Execute
11 | sqllang!process_request
12 | sqllang!process_commands_internal
13 | sqllang!process_messages
14 | sqldk!SOS_Task::Param::Execute
15 | sqldk!SOS_Scheduler::RunTask
16 | sqldk!SOS_Scheduler::ProcessTasks
17 | sqldk!SchedulerManager::WorkerEntryPoint
18 | sqldk!SystemThread::RunWorker
19 | sqldk!SystemThreadDispatcher::ProcessWorker
20 | sqldk!SchedulerManager::ThreadEntryPoint
21 | 00007FFC22DB1FE4 Module(KERNEL32+0000000000011FE4)
22 | 00007FFC255DEFB1 Module(ntdll+000000000006EFB1)
23 |
24 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Common/LINQPad.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Common/lprun.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Common/tempdb.sql:
--------------------------------------------------------------------------------
1 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = tempdev, FILENAME = 'f:\data\tempdev.mdf');
2 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp2, FILENAME = 'f:\data\tempdev2.mdf');
3 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp3, FILENAME = 'f:\data\tempdev3.mdf');
4 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp4, FILENAME = 'f:\data\tempdev4.mdf');
5 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp5, FILENAME = 'f:\data\tempdev5.mdf');
6 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp6, FILENAME = 'f:\data\tempdev6.mdf');
7 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp7, FILENAME = 'f:\data\tempdev7.mdf');
8 | ALTER DATABASE tempdb ADD FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp8, FILENAME = 'f:\data\tempdev8.mdf');
9 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp9, FILENAME = 'f:\data\tempdev9.mdf');
10 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp10, FILENAME = 'f:\data\tempdev10.mdf');
11 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp11, FILENAME = 'f:\data\tempdev11.mdf');
12 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp12, FILENAME = 'f:\data\tempdev12.mdf');
13 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp13, FILENAME = 'f:\data\tempdev13.mdf');
14 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp14, FILENAME = 'f:\data\tempdev14.mdf');
15 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp15, FILENAME = 'f:\data\tempdev15.mdf');
16 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp16, FILENAME = 'f:\data\tempdev16.mdf');
17 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp17, FILENAME = 'f:\data\tempdev17.mdf');
18 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp18, FILENAME = 'f:\data\tempdev18.mdf');
19 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp19, FILENAME = 'f:\data\tempdev19.mdf');
20 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp20, FILENAME = 'f:\data\tempdev20.mdf');
21 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp21, FILENAME = 'f:\data\tempdev21.mdf');
22 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp22, FILENAME = 'f:\data\tempdev22.mdf');
23 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp23, FILENAME = 'f:\data\tempdev23.mdf');
24 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp24, FILENAME = 'f:\data\tempdev24.mdf');
25 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp25, FILENAME = 'f:\data\tempdev25.mdf');
26 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp26, FILENAME = 'f:\data\tempdev26.mdf');
27 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp27, FILENAME = 'f:\data\tempdev27.mdf');
28 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp28, FILENAME = 'f:\data\tempdev28.mdf');
29 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp29, FILENAME = 'f:\data\tempdev29.mdf');
30 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp30, FILENAME = 'f:\data\tempdev30.mdf');
31 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp31, FILENAME = 'f:\data\tempdev31.mdf');
32 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp32, FILENAME = 'f:\data\tempdev32.mdf');
33 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp33, FILENAME = 'f:\data\tempdev33.mdf');
34 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp34, FILENAME = 'f:\data\tempdev34.mdf');
35 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp35, FILENAME = 'f:\data\tempdev35.mdf');
36 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp36, FILENAME = 'f:\data\tempdev36.mdf');
37 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp37, FILENAME = 'f:\data\tempdev37.mdf');
38 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp38, FILENAME = 'f:\data\tempdev38.mdf');
39 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp39, FILENAME = 'f:\data\tempdev39.mdf');
40 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp40, FILENAME = 'f:\data\tempdev40.mdf');
41 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp41, FILENAME = 'f:\data\tempdev41.mdf');
42 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp42, FILENAME = 'f:\data\tempdev42.mdf');
43 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp43, FILENAME = 'f:\data\tempdev43.mdf');
44 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp44, FILENAME = 'f:\data\tempdev44.mdf');
45 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp45, FILENAME = 'f:\data\tempdev45.mdf');
46 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp46, FILENAME = 'f:\data\tempdev46.mdf');
47 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp47, FILENAME = 'f:\data\tempdev47.mdf');
48 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp48, FILENAME = 'f:\data\tempdev48.mdf');
49 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp49, FILENAME = 'f:\data\tempdev49.mdf');
50 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp50, FILENAME = 'f:\data\tempdev50.mdf');
51 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp51, FILENAME = 'f:\data\tempdev51.mdf');
52 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp52, FILENAME = 'f:\data\tempdev52.mdf');
53 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp53, FILENAME = 'f:\data\tempdev53.mdf');
54 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp54, FILENAME = 'f:\data\tempdev54.mdf');
55 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp55, FILENAME = 'f:\data\tempdev55.mdf');
56 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp56, FILENAME = 'f:\data\tempdev56.mdf');
57 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp57, FILENAME = 'f:\data\tempdev57.mdf');
58 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp58, FILENAME = 'f:\data\tempdev58.mdf');
59 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp59, FILENAME = 'f:\data\tempdev59.mdf');
60 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp60, FILENAME = 'f:\data\tempdev60.mdf');
61 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp61, FILENAME = 'f:\data\tempdev61.mdf');
62 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp62, FILENAME = 'f:\data\tempdev62.mdf');
63 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp63, FILENAME = 'f:\data\tempdev63.mdf');
64 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp64, FILENAME = 'f:\data\tempdev64.mdf');
65 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp65, FILENAME = 'f:\data\tempdev65.mdf');
66 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp66, FILENAME = 'f:\data\tempdev66.mdf');
67 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp67, FILENAME = 'f:\data\tempdev67.mdf');
68 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp68, FILENAME = 'f:\data\tempdev68.mdf');
69 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp69, FILENAME = 'f:\data\tempdev69.mdf');
70 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp70, FILENAME = 'f:\data\tempdev70.mdf');
71 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp71, FILENAME = 'f:\data\tempdev71.mdf');
72 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp72, FILENAME = 'f:\data\tempdev72.mdf');
73 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp73, FILENAME = 'f:\data\tempdev73.mdf');
74 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp74, FILENAME = 'f:\data\tempdev74.mdf');
75 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp75, FILENAME = 'f:\data\tempdev75.mdf');
76 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp76, FILENAME = 'f:\data\tempdev76.mdf');
77 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp77, FILENAME = 'f:\data\tempdev77.mdf');
78 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp78, FILENAME = 'f:\data\tempdev78.mdf');
79 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp79, FILENAME = 'f:\data\tempdev79.mdf');
80 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp80, FILENAME = 'f:\data\tempdev80.mdf');
81 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp81, FILENAME = 'f:\data\tempdev81.mdf');
82 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp82, FILENAME = 'f:\data\tempdev82.mdf');
83 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp83, FILENAME = 'f:\data\tempdev83.mdf');
84 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp84, FILENAME = 'f:\data\tempdev84.mdf');
85 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp85, FILENAME = 'f:\data\tempdev85.mdf');
86 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp86, FILENAME = 'f:\data\tempdev86.mdf');
87 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp87, FILENAME = 'f:\data\tempdev87.mdf');
88 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp88, FILENAME = 'f:\data\tempdev88.mdf');
89 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp89, FILENAME = 'f:\data\tempdev89.mdf');
90 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp90, FILENAME = 'f:\data\tempdev90.mdf');
91 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp91, FILENAME = 'f:\data\tempdev91.mdf');
92 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp92, FILENAME = 'f:\data\tempdev92.mdf');
93 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp93, FILENAME = 'f:\data\tempdev93.mdf');
94 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp94, FILENAME = 'f:\data\tempdev94.mdf');
95 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp95, FILENAME = 'f:\data\tempdev95.mdf');
96 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp96, FILENAME = 'f:\data\tempdev96.mdf');
97 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp97, FILENAME = 'f:\data\tempdev97.mdf');
98 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp98, FILENAME = 'f:\data\tempdev98.mdf');
99 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp99, FILENAME = 'f:\data\tempdev99.mdf');
100 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp100, FILENAME = 'f:\data\tempdev100.mdf');
101 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp101, FILENAME = 'f:\data\tempdev101.mdf');
102 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp102, FILENAME = 'f:\data\tempdev102.mdf');
103 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp103, FILENAME = 'f:\data\tempdev103.mdf');
104 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp104, FILENAME = 'f:\data\tempdev104.mdf');
105 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp105, FILENAME = 'f:\data\tempdev105.mdf');
106 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp106, FILENAME = 'f:\data\tempdev106.mdf');
107 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp107, FILENAME = 'f:\data\tempdev107.mdf');
108 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp108, FILENAME = 'f:\data\tempdev108.mdf');
109 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp109, FILENAME = 'f:\data\tempdev109.mdf');
110 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp110, FILENAME = 'f:\data\tempdev110.mdf');
111 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp111, FILENAME = 'f:\data\tempdev111.mdf');
112 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp112, FILENAME = 'f:\data\tempdev112.mdf');
113 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp113, FILENAME = 'f:\data\tempdev113.mdf');
114 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp114, FILENAME = 'f:\data\tempdev114.mdf');
115 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp115, FILENAME = 'f:\data\tempdev115.mdf');
116 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp116, FILENAME = 'f:\data\tempdev116.mdf');
117 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp117, FILENAME = 'f:\data\tempdev117.mdf');
118 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp118, FILENAME = 'f:\data\tempdev118.mdf');
119 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp119, FILENAME = 'f:\data\tempdev119.mdf');
120 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp120, FILENAME = 'f:\data\tempdev120.mdf');
121 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp121, FILENAME = 'f:\data\tempdev121.mdf');
122 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp122, FILENAME = 'f:\data\tempdev122.mdf');
123 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp123, FILENAME = 'f:\data\tempdev123.mdf');
124 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp124, FILENAME = 'f:\data\tempdev124.mdf');
125 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp125, FILENAME = 'f:\data\tempdev125.mdf');
126 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp126, FILENAME = 'f:\data\tempdev126.mdf');
127 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp127, FILENAME = 'f:\data\tempdev127.mdf');
128 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp128, FILENAME = 'f:\data\tempdev128.mdf');
129 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp129, FILENAME = 'f:\data\tempdev129.mdf');
130 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp130, FILENAME = 'f:\data\tempdev130.mdf');
131 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp131, FILENAME = 'f:\data\tempdev131.mdf');
132 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp132, FILENAME = 'f:\data\tempdev132.mdf');
133 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp133, FILENAME = 'f:\data\tempdev133.mdf');
134 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp134, FILENAME = 'f:\data\tempdev134.mdf');
135 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp135, FILENAME = 'f:\data\tempdev135.mdf');
136 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp136, FILENAME = 'f:\data\tempdev136.mdf');
137 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp137, FILENAME = 'f:\data\tempdev137.mdf');
138 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp138, FILENAME = 'f:\data\tempdev138.mdf');
139 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp139, FILENAME = 'f:\data\tempdev139.mdf');
140 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp140, FILENAME = 'f:\data\tempdev140.mdf');
141 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp141, FILENAME = 'f:\data\tempdev141.mdf');
142 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp142, FILENAME = 'f:\data\tempdev142.mdf');
143 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp143, FILENAME = 'f:\data\tempdev143.mdf');
144 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 50MB, FILEGROWTH = 500MB, NAME = temp144, FILENAME = 'f:\data\tempdev144.mdf');
145 | GO
146 | ALTER DATABASE tempdb MODIFY FILE (SIZE = 60000MB, NAME = templog, FILENAME = 'f:\data\templog.ldf');
147 | GO
148 |
149 |
150 | EXEC tempdb..sp_helpfile
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Common/tempdb_linux.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/Common/tempdb_linux.sql
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/SpinlockData.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | sqldk.dll+0x00000000000FD919
4 | sqldk.dll+0x000000000003D45D
5 | sqlmin.dll+0x0000000000017EE0
6 | sqlmin.dll+0x00000000000180CF
7 | sqlmin.dll+0x000000000010E447
8 | sqlmin.dll+0x000000000010E6F5
9 | sqlmin.dll+0x00000000000F48B0
10 | sqlmin.dll+0x000000000063475A
11 | sqllang.dll+0x00000000004108F1
12 | sqllang.dll+0x0000000000331FB9
13 | sqllang.dll+0x0000000000333D21
14 | sqllang.dll+0x00000000003559F1
15 | sqllang.dll+0x0000000000355055
16 | sqllang.dll+0x0000000000352B8F
17 | sqllang.dll+0x0000000000015AD1
18 | sqllang.dll+0x0000000000011EFB
19 | sqllang.dll+0x0000000000D1D83D
20 | sqllang.dll+0x0000000000D1D241
21 | sqllang.dll+0x0000000000D19F98
22 | sqllang.dll+0x00000000000119CA
23 | sqllang.dll+0x0000000000012933
24 | sqllang.dll+0x0000000000012041
25 | sqllang.dll+0x000000000001A82B
26 | sqllang.dll+0x0000000000021542
27 |
28 |
29 | sqldk.dll+0x00000000000FD919
30 | sqldk.dll+0x000000000003D45D
31 | sqlmin.dll+0x0000000000017EE0
32 | sqlmin.dll+0x000000000007CE32
33 | sqlmin.dll+0x00000000000EE596
34 | sqlmin.dll+0x0000000000011E2A
35 | sqlmin.dll+0x0000000000011D5A
36 | sqlmin.dll+0x0000000000011988
37 | sqlmin.dll+0x0000000000011A1C
38 | sqllang.dll+0x0000000000355D1A
39 | sqllang.dll+0x0000000000355055
40 | sqllang.dll+0x0000000000352B8F
41 | sqllang.dll+0x0000000000015AD1
42 | sqllang.dll+0x0000000000011EFB
43 | sqllang.dll+0x0000000000D1D83D
44 | sqllang.dll+0x0000000000D1D241
45 | sqllang.dll+0x0000000000D19F98
46 | sqllang.dll+0x00000000000119CA
47 | sqllang.dll+0x0000000000012933
48 | sqllang.dll+0x0000000000012041
49 | sqllang.dll+0x000000000001A82B
50 | sqllang.dll+0x0000000000021542
51 | sqllang.dll+0x00000000000210A3
52 | sqldk.dll+0x0000000000005BFD
53 |
54 |
55 | sqldk.dll+0x00000000000FD919
56 | sqldk.dll+0x000000000003D45D
57 | sqldk.dll+0x000000000002486B
58 | sqlmin.dll+0x0000000000017EE0
59 | sqlmin.dll+0x00000000000180CF
60 | sqlmin.dll+0x000000000010E447
61 | sqlmin.dll+0x000000000010E6F5
62 | sqlmin.dll+0x00000000000F48B0
63 | sqlmin.dll+0x000000000063475A
64 | sqllang.dll+0x00000000004108F1
65 | sqllang.dll+0x0000000000331FB9
66 | sqllang.dll+0x0000000000333D21
67 | sqllang.dll+0x00000000003559F1
68 | sqllang.dll+0x0000000000355055
69 | sqllang.dll+0x0000000000352B8F
70 | sqllang.dll+0x0000000000015AD1
71 | sqllang.dll+0x0000000000011EFB
72 | sqllang.dll+0x0000000000D1D83D
73 | sqllang.dll+0x0000000000D1D241
74 | sqllang.dll+0x0000000000D19F98
75 | sqllang.dll+0x00000000000119CA
76 | sqllang.dll+0x0000000000012933
77 | sqllang.dll+0x0000000000012041
78 | sqllang.dll+0x000000000001A82B
79 |
80 |
81 | sqldk.dll+0x00000000000FD919
82 | sqldk.dll+0x000000000003D45D
83 | sqldk.dll+0x000000000002486B
84 | sqlmin.dll+0x0000000000017EE0
85 | sqlmin.dll+0x000000000007CE32
86 | sqlmin.dll+0x00000000000EE596
87 | sqlmin.dll+0x0000000000011E2A
88 | sqlmin.dll+0x0000000000011D5A
89 | sqlmin.dll+0x0000000000011988
90 | sqlmin.dll+0x0000000000011A1C
91 | sqllang.dll+0x0000000000355D1A
92 | sqllang.dll+0x0000000000355055
93 | sqllang.dll+0x0000000000352B8F
94 | sqllang.dll+0x0000000000015AD1
95 | sqllang.dll+0x0000000000011EFB
96 | sqllang.dll+0x0000000000D1D83D
97 | sqllang.dll+0x0000000000D1D241
98 | sqllang.dll+0x0000000000D19F98
99 | sqllang.dll+0x00000000000119CA
100 | sqllang.dll+0x0000000000012933
101 | sqllang.dll+0x0000000000012041
102 | sqllang.dll+0x000000000001A82B
103 | sqllang.dll+0x0000000000021542
104 | sqllang.dll+0x00000000000210A3
105 |
106 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/XESpins_0_131627061603030000.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/LOCK_HASH/XESpins_0_131627061603030000.zip
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/base_addresses.txt:
--------------------------------------------------------------------------------
1 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\sqlservr.exe 0x00007FF6E0900000
2 | C:\Windows\SYSTEM32\ntdll.dll 0x00007FFEC3980000
3 | C:\Windows\System32\KERNEL32.DLL 0x00007FFEC2C30000
4 | C:\Windows\System32\KERNELBASE.dll 0x00007FFEC0700000
5 | C:\Windows\System32\ADVAPI32.dll 0x00007FFEC2530000
6 | C:\Windows\System32\msvcrt.dll 0x00007FFEC0F10000
7 | C:\Windows\System32\sechost.dll 0x00007FFEC2D00000
8 | C:\Windows\SYSTEM32\NETAPI32.dll 0x00007FFEBCB10000
9 | C:\Windows\System32\RPCRT4.dll 0x00007FFEC2F40000
10 | C:\Windows\System32\ole32.dll 0x00007FFEC2870000
11 | C:\Windows\System32\combase.dll 0x00007FFEC3640000
12 | C:\Windows\System32\ucrtbase.dll 0x00007FFEC0600000
13 | C:\Windows\System32\bcryptPrimitives.dll 0x00007FFEC0BF0000
14 | C:\Windows\System32\GDI32.dll 0x00007FFEC2F00000
15 | C:\Windows\System32\gdi32full.dll 0x00007FFEC0D10000
16 | C:\Windows\System32\USER32.dll 0x00007FFEC29B0000
17 | C:\Windows\System32\win32u.dll 0x00007FFEC0EF0000
18 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\SQLOS.dll 0x00007FFEB62E0000
19 | C:\Windows\SYSTEM32\pdh.dll 0x00007FFEBCAC0000
20 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\sqlmin.dll 0x00007FFEAC0E0000
21 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\sqlTsEs.dll 0x00007FFEA8DD0000
22 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\sqldk.dll 0x00007FFEABC10000
23 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\sqllang.dll 0x00007FFEA9660000
24 | C:\Windows\System32\OLEAUT32.dll 0x00007FFEC25E0000
25 | C:\Windows\System32\msvcp_win.dll 0x00007FFEBFE80000
26 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\opends60.dll 0x00007FFEB2270000
27 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\qds.dll 0x00007FFEA2A80000
28 | C:\Windows\SYSTEM32\MSVCP120.dll 0x00007FFEB66E0000
29 | C:\Windows\SYSTEM32\MSVCR120.dll 0x00007FFEB8400000
30 | C:\Windows\SYSTEM32\WINMM.dll 0x00007FFEBE230000
31 | C:\Windows\SYSTEM32\WINMMBASE.dll 0x00007FFEBE1C0000
32 | C:\Windows\System32\cfgmgr32.dll 0x00007FFEC0AF0000
33 | C:\Windows\System32\CRYPT32.dll 0x00007FFEC0920000
34 | C:\Windows\System32\MSASN1.dll 0x00007FFEBFE20000
35 | C:\Windows\System32\WS2_32.dll 0x00007FFEC2BC0000
36 | C:\Windows\SYSTEM32\Secur32.dll 0x00007FFEBCBC0000
37 | C:\Windows\SYSTEM32\WINHTTP.dll 0x00007FFEBCC80000
38 | C:\Windows\SYSTEM32\bcrypt.dll 0x00007FFEBFD40000
39 | C:\Windows\SYSTEM32\ODBC32.dll 0x00007FFEA2380000
40 | C:\Windows\SYSTEM32\NETUTILS.DLL 0x00007FFEBF530000
41 | C:\Windows\SYSTEM32\DPAPI.dll 0x00007FFEBF300000
42 | C:\Windows\SYSTEM32\SSPICLI.DLL 0x00007FFEBFA60000
43 | C:\Windows\System32\WINTRUST.dll 0x00007FFEC0E90000
44 | C:\Windows\SYSTEM32\USERENV.dll 0x00007FFEBF540000
45 | C:\Windows\System32\profapi.dll 0x00007FFEBFDF0000
46 | C:\Windows\SYSTEM32\AUTHZ.dll 0x00007FFEBF060000
47 | C:\Windows\SYSTEM32\XmlLite.dll 0x00007FFEBC940000
48 | C:\Windows\SYSTEM32\dhcpcsvc.DLL 0x00007FFEBC0A0000
49 | C:\Windows\System32\NSI.dll 0x00007FFEC3970000
50 | C:\Windows\SYSTEM32\LOGONCLI.DLL 0x00007FFEBC330000
51 | C:\Windows\SYSTEM32\SAMCLI.DLL 0x00007FFEBD820000
52 | C:\Windows\System32\psapi.dll 0x00007FFEC24C0000
53 | C:\Windows\System32\kernel.appcore.dll 0x00007FFEBFE10000
54 | C:\Program Files\Microsoft SQL Server\130\Shared\instapi130.dll 0x00007FFEA1B10000
55 | C:\Windows\SYSTEM32\CRYPTSP.dll 0x00007FFEBF860000
56 | C:\Windows\system32\rsaenh.dll 0x00007FFEBF2C0000
57 | C:\Windows\SYSTEM32\CRYPTBASE.dll 0x00007FFEBF880000
58 | C:\Windows\System32\imagehlp.dll 0x00007FFEC2CE0000
59 | C:\Windows\SYSTEM32\gpapi.dll 0x00007FFEBEDF0000
60 | C:\Windows\SYSTEM32\wkscli.dll 0x00007FFEBD670000
61 | C:\Windows\SYSTEM32\cscapi.dll 0x00007FFEB5870000
62 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\Resources\1033\sqlevn70.rll 0x000002B8A7AE0000
63 | C:\Windows\system32\CLUSAPI.DLL 0x00007FFEB6590000
64 | C:\Windows\SYSTEM32\DNSAPI.dll 0x00007FFEBF480000
65 | C:\Windows\SYSTEM32\IPHLPAPI.DLL 0x00007FFEBF440000
66 | C:\Windows\system32\RESUTILS.DLL 0x00007FFEB6670000
67 | C:\Windows\SYSTEM32\VERSION.dll 0x00007FFEB8D40000
68 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\hkruntime.dll 0x00007FFE9B380000
69 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\hkcompile.dll 0x00007FFE9B230000
70 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\hkengine.dll 0x00007FFE9ACC0000
71 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\dbghelp.dll 0x0000000063E90000
72 | C:\Windows\System32\SHLWAPI.dll 0x00007FFEC3910000
73 | C:\Windows\system32\msv1_0.DLL 0x00007FFEBF650000
74 | C:\Windows\SYSTEM32\NtlmShared.dll 0x00007FFEBF640000
75 | C:\Windows\SYSTEM32\cryptdll.dll 0x00007FFEBF720000
76 | C:\Windows\system32\kerberos.DLL 0x00007FFEBF770000
77 | C:\Windows\system32\schannel.DLL 0x00007FFEBF200000
78 | C:\Windows\SYSTEM32\MSCOREE.DLL 0x00007FFEB79B0000
79 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll 0x00007FFEB8500000
80 | C:\Windows\SYSTEM32\SqlServerSpatial130.dll 0x00007FFE975B0000
81 | C:\Windows\system32\security.dll 0x000004BFAD890000
82 | C:\Windows\System32\clbcatq.dll 0x00007FFEC2B20000
83 | C:\Windows\system32\sqlncli11.dll 0x00007FFE94B60000
84 | C:\Windows\system32\MSVCR100.dll 0x0000000063C10000
85 | C:\Windows\System32\COMDLG32.dll 0x00007FFEC34D0000
86 | C:\Windows\System32\shcore.dll 0x00007FFEC0C60000
87 | C:\Windows\System32\SHELL32.dll 0x00007FFEC0FB0000
88 | C:\Windows\System32\windows.storage.dll 0x00007FFEBFF20000
89 | C:\Windows\System32\powrprof.dll 0x00007FFEBFE30000
90 | C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.14393.447_none_0d5aa7fbb6d35646\COMCTL32.dll 0x00007FFE9C290000
91 | C:\Windows\system32\1033\SQLNCLIR11.RLL 0x000004BFAD940000
92 | C:\Windows\SYSTEM32\netbios.dll 0x00007FFE9C8A0000
93 | C:\Program Files\Microsoft SQL Server\130\Shared\sqlnclirda11.dll 0x00000000638B0000
94 | C:\Program Files\Microsoft SQL Server\130\Shared\1033\SQLNCLIRDAR11.RLL 0x000004C02F5A0000
95 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 0x00007FFEB5900000
96 | C:\Windows\SYSTEM32\MSVCR120_CLR0400.dll 0x00007FFEB5580000
97 | C:\Windows\system32\netfxperf.dll 0x00007FFE9C1B0000
98 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\perfcounter.dll 0x00007FFE9CA20000
99 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CorperfmonExt.dll 0x00007FFE9C180000
100 | C:\Windows\SYSTEM32\WTSAPI32.dll 0x00007FFEBD800000
101 | C:\Windows\SYSTEM32\DTSPipelinePerf140.dll 0x00007FFE9C170000
102 | C:\Windows\system32\esentprf.dll 0x00007FFE99C80000
103 | C:\Windows\system32\msdtcuiu.DLL 0x00007FFE99C20000
104 | C:\Windows\system32\ATL.DLL 0x00007FFEBAB40000
105 | C:\Windows\system32\MSDTCPRX.dll 0x00007FFE99B40000
106 | C:\Windows\system32\MTXCLU.DLL 0x00007FFE972A0000
107 | C:\Windows\system32\ktmw32.dll 0x00007FFE9C890000
108 | C:\Windows\SYSTEM32\ntmarta.dll 0x00007FFEBEB20000
109 | C:\Windows\system32\msscntrs.dll 0x00007FFE99130000
110 | C:\Windows\SYSTEM32\perf-MSSQL$SQL2016-sqlctr13.1.4001.0.dll 0x00007FFE96520000
111 | C:\Windows\SYSTEM32\perf-MSSQLSERVER-sqlctr14.0.1000.169.dll 0x00007FFE964C0000
112 | C:\Program Files\Microsoft SQL Server\140\Shared\instapi140.dll 0x00007FFEA0890000
113 | C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\bin\Counters\MSMDCTR.DLL 0x00007FFE9C160000
114 | C:\Windows\System32\perfdisk.dll 0x00007FFE9CA70000
115 | C:\Windows\System32\WMICLNT.dll 0x00007FFEBBCD0000
116 | C:\Windows\System32\perfnet.dll 0x00007FFE9C9E0000
117 | C:\Windows\SYSTEM32\BROWCLI.Dll 0x00007FFE9C9C0000
118 | C:\Windows\System32\perfos.dll 0x00007FFE9CA80000
119 | C:\Windows\System32\perfproc.dll 0x00007FFE9C8B0000
120 | C:\Windows\System32\rasctrs.dll 0x00007FFE99B30000
121 | C:\Windows\SYSTEM32\rasman.dll 0x00007FFE9F590000
122 | C:\Windows\System32\winspool.drv 0x00007FFEB6500000
123 | C:\Windows\SYSTEM32\perf-MSSQL13.SQL2016-sqlagtctr.dll 0x00007FFE964A0000
124 | C:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\6b278bb41b219b5d3ea584606329e448\mscorlib.ni.dll 0x00007FFEB2A90000
125 | C:\Windows\SYSTEM32\perf-MSSQL14.MSSQLSERVER-sqlagtctr.dll 0x00007FFE96480000
126 | C:\Windows\System32\tapiperf.dll 0x00007FFE99120000
127 | C:\Windows\System32\Perfctrs.dll 0x00007FFE96460000
128 | C:\Windows\System32\perfts.dll 0x00007FFE97290000
129 | C:\Windows\System32\UTILDLL.dll 0x00007FFE96440000
130 | C:\Windows\System32\WINSTA.dll 0x00007FFEBFCD0000
131 | C:\Windows\System32\SETUPAPI.dll 0x00007FFEC30A0000
132 | C:\Windows\System32\srvcli.dll 0x00007FFEBC910000
133 | C:\Windows\system32\usbperf.dll 0x00007FFE96430000
134 | C:\Windows\system32\tquery.dll 0x00007FFE94810000
135 | C:\Windows\System32\msxml3.dll 0x00007FFE95C90000
136 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clrjit.dll 0x00007FFEB0A80000
137 | C:\Windows\system32\ualapi.dll 0x00007FFEB9130000
138 | C:\Windows\SYSTEM32\ESENT.dll 0x00007FFEB8A30000
139 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\BatchParser.dll 0x00007FFE96380000
140 | C:\Windows\SYSTEM32\ncrypt.dll 0x00007FFEBF940000
141 | C:\Windows\SYSTEM32\NTASN1.dll 0x00007FFEBF900000
142 | C:\Windows\SYSTEM32\mskeyprotect.dll 0x00007FFEA0640000
143 | C:\Windows\system32\mswsock.dll 0x00007FFEBF6C0000
144 | C:\Windows\system32\ntdsapi.dll 0x00007FFE96320000
145 | C:\Windows\SYSTEM32\DSPARSE.DLL 0x00007FFEBB0D0000
146 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\xtp\5\xtp_t_5_565577053_185276299297186_1.dll 0x00007FFE962F0000
147 | C:\Windows\system32\ncryptsslp.dll 0x00007FFEA0750000
148 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\xpsqlbot.dll 0x00007FFEBAED0000
149 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\xpstar.dll 0x00007FFE8DEA0000
150 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\SQLSCM.dll 0x00007FFEB6A50000
151 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\Resources\1033\xpstar.rll 0x000004C63C160000
152 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\xplog70.dll 0x00007FFE88760000
153 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\Binn\Resources\1033\xplog70.RLL 0x000004C63C1A0000
154 | C:\Windows\SYSTEM32\DSROLE.dll 0x00007FFEBB1C0000
155 | C:\Windows\SYSTEM32\SAMLIB.dll 0x00007FFEBB2A0000
156 | C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\xtp\5\xtp_p_5_597577167_185276299297639_1.dll 0x00007FFEBAA70000
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/extraprocs.sql:
--------------------------------------------------------------------------------
1 | use lockhashrepro
2 | go
3 | create or ALTER procedure [dbo].[interop_1] as begin exec dbo.native_1 end
4 | GO
5 | CREATE OR ALTER procedure [dbo].[native_1]
6 | with native_compilation, schemabinding, execute as owner
7 | as
8 | begin atomic
9 | with (transaction isolation level=snapshot, language=N'us_english')
10 |
11 | declare @i bigint
12 |
13 | insert dbo.memopt default values
14 | select @i = scope_identity()
15 |
16 | delete dbo.memopt where id = @i
17 |
18 | end
19 | GO
20 | GRANT EXECUTE ON interop_1 to nonadmin; GRANT EXECUTE ON native_1 to nonadmin;
21 | GO
22 |
23 | create or ALTER procedure [dbo].[interop_2] as begin exec dbo.native_2 end
24 | GO
25 | CREATE OR ALTER procedure [dbo].[native_2]
26 | with native_compilation, schemabinding, execute as owner
27 | as
28 | begin atomic
29 | with (transaction isolation level=snapshot, language=N'us_english')
30 |
31 | declare @i bigint
32 |
33 | insert dbo.memopt default values
34 | select @i = scope_identity()
35 |
36 | delete dbo.memopt where id = @i
37 |
38 | end
39 | GO
40 | GRANT EXECUTE ON interop_2 to nonadmin; GRANT EXECUTE ON native_2 to nonadmin;
41 | GO
42 |
43 | create or ALTER procedure [dbo].[interop_3] as begin exec dbo.native_3 end
44 | GO
45 | CREATE OR ALTER procedure [dbo].[native_3]
46 | with native_compilation, schemabinding, execute as owner
47 | as
48 | begin atomic
49 | with (transaction isolation level=snapshot, language=N'us_english')
50 |
51 | declare @i bigint
52 |
53 | insert dbo.memopt default values
54 | select @i = scope_identity()
55 |
56 | delete dbo.memopt where id = @i
57 |
58 | end
59 | GO
60 | GRANT EXECUTE ON interop_3 to nonadmin; GRANT EXECUTE ON native_3 to nonadmin;
61 | GO
62 |
63 | create or ALTER procedure [dbo].[interop_4] as begin exec dbo.native_4 end
64 | GO
65 | CREATE OR ALTER procedure [dbo].[native_4]
66 | with native_compilation, schemabinding, execute as owner
67 | as
68 | begin atomic
69 | with (transaction isolation level=snapshot, language=N'us_english')
70 |
71 | declare @i bigint
72 |
73 | insert dbo.memopt default values
74 | select @i = scope_identity()
75 |
76 | delete dbo.memopt where id = @i
77 |
78 | end
79 | GO
80 | GRANT EXECUTE ON interop_4 to nonadmin; GRANT EXECUTE ON native_4 to nonadmin;
81 | GO
82 |
83 | create or ALTER procedure [dbo].[interop_5] as begin exec dbo.native_5 end
84 | GO
85 | CREATE OR ALTER procedure [dbo].[native_5]
86 | with native_compilation, schemabinding, execute as owner
87 | as
88 | begin atomic
89 | with (transaction isolation level=snapshot, language=N'us_english')
90 |
91 | declare @i bigint
92 |
93 | insert dbo.memopt default values
94 | select @i = scope_identity()
95 |
96 | delete dbo.memopt where id = @i
97 |
98 | end
99 | GO
100 | GRANT EXECUTE ON interop_5 to nonadmin; GRANT EXECUTE ON native_5 to nonadmin;
101 | GO
102 |
103 | create or ALTER procedure [dbo].[interop_6] as begin exec dbo.native_6 end
104 | GO
105 | CREATE OR ALTER procedure [dbo].[native_6]
106 | with native_compilation, schemabinding, execute as owner
107 | as
108 | begin atomic
109 | with (transaction isolation level=snapshot, language=N'us_english')
110 |
111 | declare @i bigint
112 |
113 | insert dbo.memopt default values
114 | select @i = scope_identity()
115 |
116 | delete dbo.memopt where id = @i
117 |
118 | end
119 | GO
120 | GRANT EXECUTE ON interop_6 to nonadmin; GRANT EXECUTE ON native_6 to nonadmin;
121 | GO
122 |
123 | create or ALTER procedure [dbo].[interop_7] as begin exec dbo.native_7 end
124 | GO
125 | CREATE OR ALTER procedure [dbo].[native_7]
126 | with native_compilation, schemabinding, execute as owner
127 | as
128 | begin atomic
129 | with (transaction isolation level=snapshot, language=N'us_english')
130 |
131 | declare @i bigint
132 |
133 | insert dbo.memopt default values
134 | select @i = scope_identity()
135 |
136 | delete dbo.memopt where id = @i
137 |
138 | end
139 | GO
140 | GRANT EXECUTE ON interop_7 to nonadmin; GRANT EXECUTE ON native_7 to nonadmin;
141 | GO
142 |
143 | create or ALTER procedure [dbo].[interop_8] as begin exec dbo.native_8 end
144 | GO
145 | CREATE OR ALTER procedure [dbo].[native_8]
146 | with native_compilation, schemabinding, execute as owner
147 | as
148 | begin atomic
149 | with (transaction isolation level=snapshot, language=N'us_english')
150 |
151 | declare @i bigint
152 |
153 | insert dbo.memopt default values
154 | select @i = scope_identity()
155 |
156 | delete dbo.memopt where id = @i
157 |
158 | end
159 | GO
160 | GRANT EXECUTE ON interop_8 to nonadmin; GRANT EXECUTE ON native_8 to nonadmin;
161 | GO
162 |
163 | create or ALTER procedure [dbo].[interop_9] as begin exec dbo.native_9 end
164 | GO
165 | CREATE OR ALTER procedure [dbo].[native_9]
166 | with native_compilation, schemabinding, execute as owner
167 | as
168 | begin atomic
169 | with (transaction isolation level=snapshot, language=N'us_english')
170 |
171 | declare @i bigint
172 |
173 | insert dbo.memopt default values
174 | select @i = scope_identity()
175 |
176 | delete dbo.memopt where id = @i
177 |
178 | end
179 | GO
180 | GRANT EXECUTE ON interop_9 to nonadmin; GRANT EXECUTE ON native_9 to nonadmin;
181 | GO
182 |
183 | create or ALTER procedure [dbo].[interop_10] as begin exec dbo.native_10 end
184 | GO
185 | CREATE OR ALTER procedure [dbo].[native_10]
186 | with native_compilation, schemabinding, execute as owner
187 | as
188 | begin atomic
189 | with (transaction isolation level=snapshot, language=N'us_english')
190 |
191 | declare @i bigint
192 |
193 | insert dbo.memopt default values
194 | select @i = scope_identity()
195 |
196 | delete dbo.memopt where id = @i
197 |
198 | end
199 | GO
200 | GRANT EXECUTE ON interop_10 to nonadmin; GRANT EXECUTE ON native_10 to nonadmin;
201 | GO
202 |
203 | create or ALTER procedure [dbo].[interop_11] as begin exec dbo.native_11 end
204 | GO
205 | CREATE OR ALTER procedure [dbo].[native_11]
206 | with native_compilation, schemabinding, execute as owner
207 | as
208 | begin atomic
209 | with (transaction isolation level=snapshot, language=N'us_english')
210 |
211 | declare @i bigint
212 |
213 | insert dbo.memopt default values
214 | select @i = scope_identity()
215 |
216 | delete dbo.memopt where id = @i
217 |
218 | end
219 | GO
220 | GRANT EXECUTE ON interop_11 to nonadmin; GRANT EXECUTE ON native_11 to nonadmin;
221 | GO
222 |
223 | create or ALTER procedure [dbo].[interop_12] as begin exec dbo.native_12 end
224 | GO
225 | CREATE OR ALTER procedure [dbo].[native_12]
226 | with native_compilation, schemabinding, execute as owner
227 | as
228 | begin atomic
229 | with (transaction isolation level=snapshot, language=N'us_english')
230 |
231 | declare @i bigint
232 |
233 | insert dbo.memopt default values
234 | select @i = scope_identity()
235 |
236 | delete dbo.memopt where id = @i
237 |
238 | end
239 | GO
240 | GRANT EXECUTE ON interop_12 to nonadmin; GRANT EXECUTE ON native_12 to nonadmin;
241 | GO
242 |
243 | create or ALTER procedure [dbo].[interop_13] as begin exec dbo.native_13 end
244 | GO
245 | CREATE OR ALTER procedure [dbo].[native_13]
246 | with native_compilation, schemabinding, execute as owner
247 | as
248 | begin atomic
249 | with (transaction isolation level=snapshot, language=N'us_english')
250 |
251 | declare @i bigint
252 |
253 | insert dbo.memopt default values
254 | select @i = scope_identity()
255 |
256 | delete dbo.memopt where id = @i
257 |
258 | end
259 | GO
260 | GRANT EXECUTE ON interop_13 to nonadmin; GRANT EXECUTE ON native_13 to nonadmin;
261 | GO
262 |
263 | create or ALTER procedure [dbo].[interop_14] as begin exec dbo.native_14 end
264 | GO
265 | CREATE OR ALTER procedure [dbo].[native_14]
266 | with native_compilation, schemabinding, execute as owner
267 | as
268 | begin atomic
269 | with (transaction isolation level=snapshot, language=N'us_english')
270 |
271 | declare @i bigint
272 |
273 | insert dbo.memopt default values
274 | select @i = scope_identity()
275 |
276 | delete dbo.memopt where id = @i
277 |
278 | end
279 | GO
280 | GRANT EXECUTE ON interop_14 to nonadmin; GRANT EXECUTE ON native_14 to nonadmin;
281 | GO
282 |
283 | create or ALTER procedure [dbo].[interop_15] as begin exec dbo.native_15 end
284 | GO
285 | CREATE OR ALTER procedure [dbo].[native_15]
286 | with native_compilation, schemabinding, execute as owner
287 | as
288 | begin atomic
289 | with (transaction isolation level=snapshot, language=N'us_english')
290 |
291 | declare @i bigint
292 |
293 | insert dbo.memopt default values
294 | select @i = scope_identity()
295 |
296 | delete dbo.memopt where id = @i
297 |
298 | end
299 | GO
300 | GRANT EXECUTE ON interop_15 to nonadmin; GRANT EXECUTE ON native_15 to nonadmin;
301 | GO
302 |
303 | create or ALTER procedure [dbo].[interop_16] as begin exec dbo.native_16 end
304 | GO
305 | CREATE OR ALTER procedure [dbo].[native_16]
306 | with native_compilation, schemabinding, execute as owner
307 | as
308 | begin atomic
309 | with (transaction isolation level=snapshot, language=N'us_english')
310 |
311 | declare @i bigint
312 |
313 | insert dbo.memopt default values
314 | select @i = scope_identity()
315 |
316 | delete dbo.memopt where id = @i
317 |
318 | end
319 | GO
320 | GRANT EXECUTE ON interop_16 to nonadmin; GRANT EXECUTE ON native_16 to nonadmin;
321 | GO
322 |
323 | create or ALTER procedure [dbo].[interop_17] as begin exec dbo.native_17 end
324 | GO
325 | CREATE OR ALTER procedure [dbo].[native_17]
326 | with native_compilation, schemabinding, execute as owner
327 | as
328 | begin atomic
329 | with (transaction isolation level=snapshot, language=N'us_english')
330 |
331 | declare @i bigint
332 |
333 | insert dbo.memopt default values
334 | select @i = scope_identity()
335 |
336 | delete dbo.memopt where id = @i
337 |
338 | end
339 | GO
340 | GRANT EXECUTE ON interop_17 to nonadmin; GRANT EXECUTE ON native_17 to nonadmin;
341 | GO
342 |
343 | create or ALTER procedure [dbo].[interop_18] as begin exec dbo.native_18 end
344 | GO
345 | CREATE OR ALTER procedure [dbo].[native_18]
346 | with native_compilation, schemabinding, execute as owner
347 | as
348 | begin atomic
349 | with (transaction isolation level=snapshot, language=N'us_english')
350 |
351 | declare @i bigint
352 |
353 | insert dbo.memopt default values
354 | select @i = scope_identity()
355 |
356 | delete dbo.memopt where id = @i
357 |
358 | end
359 | GO
360 | GRANT EXECUTE ON interop_18 to nonadmin; GRANT EXECUTE ON native_18 to nonadmin;
361 | GO
362 |
363 | create or ALTER procedure [dbo].[interop_19] as begin exec dbo.native_19 end
364 | GO
365 | CREATE OR ALTER procedure [dbo].[native_19]
366 | with native_compilation, schemabinding, execute as owner
367 | as
368 | begin atomic
369 | with (transaction isolation level=snapshot, language=N'us_english')
370 |
371 | declare @i bigint
372 |
373 | insert dbo.memopt default values
374 | select @i = scope_identity()
375 |
376 | delete dbo.memopt where id = @i
377 |
378 | end
379 | GO
380 | GRANT EXECUTE ON interop_19 to nonadmin; GRANT EXECUTE ON native_19 to nonadmin;
381 | GO
382 |
383 | create or ALTER procedure [dbo].[interop_20] as begin exec dbo.native_20 end
384 | GO
385 | CREATE OR ALTER procedure [dbo].[native_20]
386 | with native_compilation, schemabinding, execute as owner
387 | as
388 | begin atomic
389 | with (transaction isolation level=snapshot, language=N'us_english')
390 |
391 | declare @i bigint
392 |
393 | insert dbo.memopt default values
394 | select @i = scope_identity()
395 |
396 | delete dbo.memopt where id = @i
397 |
398 | end
399 | GO
400 | GRANT EXECUTE ON interop_20 to nonadmin; GRANT EXECUTE ON native_20 to nonadmin;
401 | GO
402 |
403 | create or ALTER procedure [dbo].[interop_21] as begin exec dbo.native_21 end
404 | GO
405 | CREATE OR ALTER procedure [dbo].[native_21]
406 | with native_compilation, schemabinding, execute as owner
407 | as
408 | begin atomic
409 | with (transaction isolation level=snapshot, language=N'us_english')
410 |
411 | declare @i bigint
412 |
413 | insert dbo.memopt default values
414 | select @i = scope_identity()
415 |
416 | delete dbo.memopt where id = @i
417 |
418 | end
419 | GO
420 | GRANT EXECUTE ON interop_21 to nonadmin; GRANT EXECUTE ON native_21 to nonadmin;
421 | GO
422 |
423 | create or ALTER procedure [dbo].[interop_22] as begin exec dbo.native_22 end
424 | GO
425 | CREATE OR ALTER procedure [dbo].[native_22]
426 | with native_compilation, schemabinding, execute as owner
427 | as
428 | begin atomic
429 | with (transaction isolation level=snapshot, language=N'us_english')
430 |
431 | declare @i bigint
432 |
433 | insert dbo.memopt default values
434 | select @i = scope_identity()
435 |
436 | delete dbo.memopt where id = @i
437 |
438 | end
439 | GO
440 | GRANT EXECUTE ON interop_22 to nonadmin; GRANT EXECUTE ON native_22 to nonadmin;
441 | GO
442 |
443 | create or ALTER procedure [dbo].[interop_23] as begin exec dbo.native_23 end
444 | GO
445 | CREATE OR ALTER procedure [dbo].[native_23]
446 | with native_compilation, schemabinding, execute as owner
447 | as
448 | begin atomic
449 | with (transaction isolation level=snapshot, language=N'us_english')
450 |
451 | declare @i bigint
452 |
453 | insert dbo.memopt default values
454 | select @i = scope_identity()
455 |
456 | delete dbo.memopt where id = @i
457 |
458 | end
459 | GO
460 | GRANT EXECUTE ON interop_23 to nonadmin; GRANT EXECUTE ON native_23 to nonadmin;
461 | GO
462 |
463 | create or ALTER procedure [dbo].[interop_24] as begin exec dbo.native_24 end
464 | GO
465 | CREATE OR ALTER procedure [dbo].[native_24]
466 | with native_compilation, schemabinding, execute as owner
467 | as
468 | begin atomic
469 | with (transaction isolation level=snapshot, language=N'us_english')
470 |
471 | declare @i bigint
472 |
473 | insert dbo.memopt default values
474 | select @i = scope_identity()
475 |
476 | delete dbo.memopt where id = @i
477 |
478 | end
479 | GO
480 | GRANT EXECUTE ON interop_24 to nonadmin; GRANT EXECUTE ON native_24 to nonadmin;
481 | GO
482 |
483 | create or ALTER procedure [dbo].[interop_25] as begin exec dbo.native_25 end
484 | GO
485 | CREATE OR ALTER procedure [dbo].[native_25]
486 | with native_compilation, schemabinding, execute as owner
487 | as
488 | begin atomic
489 | with (transaction isolation level=snapshot, language=N'us_english')
490 |
491 | declare @i bigint
492 |
493 | insert dbo.memopt default values
494 | select @i = scope_identity()
495 |
496 | delete dbo.memopt where id = @i
497 |
498 | end
499 | GO
500 | GRANT EXECUTE ON interop_25 to nonadmin; GRANT EXECUTE ON native_25 to nonadmin;
501 | GO
502 |
503 | create or ALTER procedure [dbo].[interop_26] as begin exec dbo.native_26 end
504 | GO
505 | CREATE OR ALTER procedure [dbo].[native_26]
506 | with native_compilation, schemabinding, execute as owner
507 | as
508 | begin atomic
509 | with (transaction isolation level=snapshot, language=N'us_english')
510 |
511 | declare @i bigint
512 |
513 | insert dbo.memopt default values
514 | select @i = scope_identity()
515 |
516 | delete dbo.memopt where id = @i
517 |
518 | end
519 | GO
520 | GRANT EXECUTE ON interop_26 to nonadmin; GRANT EXECUTE ON native_26 to nonadmin;
521 | GO
522 |
523 | create or ALTER procedure [dbo].[interop_27] as begin exec dbo.native_27 end
524 | GO
525 | CREATE OR ALTER procedure [dbo].[native_27]
526 | with native_compilation, schemabinding, execute as owner
527 | as
528 | begin atomic
529 | with (transaction isolation level=snapshot, language=N'us_english')
530 |
531 | declare @i bigint
532 |
533 | insert dbo.memopt default values
534 | select @i = scope_identity()
535 |
536 | delete dbo.memopt where id = @i
537 |
538 | end
539 | GO
540 | GRANT EXECUTE ON interop_27 to nonadmin; GRANT EXECUTE ON native_27 to nonadmin;
541 | GO
542 |
543 | create or ALTER procedure [dbo].[interop_28] as begin exec dbo.native_28 end
544 | GO
545 | CREATE OR ALTER procedure [dbo].[native_28]
546 | with native_compilation, schemabinding, execute as owner
547 | as
548 | begin atomic
549 | with (transaction isolation level=snapshot, language=N'us_english')
550 |
551 | declare @i bigint
552 |
553 | insert dbo.memopt default values
554 | select @i = scope_identity()
555 |
556 | delete dbo.memopt where id = @i
557 |
558 | end
559 | GO
560 | GRANT EXECUTE ON interop_28 to nonadmin; GRANT EXECUTE ON native_28 to nonadmin;
561 | GO
562 |
563 | create or ALTER procedure [dbo].[interop_29] as begin exec dbo.native_29 end
564 | GO
565 | CREATE OR ALTER procedure [dbo].[native_29]
566 | with native_compilation, schemabinding, execute as owner
567 | as
568 | begin atomic
569 | with (transaction isolation level=snapshot, language=N'us_english')
570 |
571 | declare @i bigint
572 |
573 | insert dbo.memopt default values
574 | select @i = scope_identity()
575 |
576 | delete dbo.memopt where id = @i
577 |
578 | end
579 | GO
580 | GRANT EXECUTE ON interop_29 to nonadmin; GRANT EXECUTE ON native_29 to nonadmin;
581 | GO
582 |
583 | create or ALTER procedure [dbo].[interop_30] as begin exec dbo.native_30 end
584 | GO
585 | CREATE OR ALTER procedure [dbo].[native_30]
586 | with native_compilation, schemabinding, execute as owner
587 | as
588 | begin atomic
589 | with (transaction isolation level=snapshot, language=N'us_english')
590 |
591 | declare @i bigint
592 |
593 | insert dbo.memopt default values
594 | select @i = scope_identity()
595 |
596 | delete dbo.memopt where id = @i
597 |
598 | end
599 | GO
600 | GRANT EXECUTE ON interop_30 to nonadmin; GRANT EXECUTE ON native_30 to nonadmin;
601 | GO
602 |
603 | create or ALTER procedure [dbo].[interop_31] as begin exec dbo.native_31 end
604 | GO
605 | CREATE OR ALTER procedure [dbo].[native_31]
606 | with native_compilation, schemabinding, execute as owner
607 | as
608 | begin atomic
609 | with (transaction isolation level=snapshot, language=N'us_english')
610 |
611 | declare @i bigint
612 |
613 | insert dbo.memopt default values
614 | select @i = scope_identity()
615 |
616 | delete dbo.memopt where id = @i
617 |
618 | end
619 | GO
620 | GRANT EXECUTE ON interop_31 to nonadmin; GRANT EXECUTE ON native_31 to nonadmin;
621 | GO
622 |
623 | create or ALTER procedure [dbo].[interop_32] as begin exec dbo.native_32 end
624 | GO
625 | CREATE OR ALTER procedure [dbo].[native_32]
626 | with native_compilation, schemabinding, execute as owner
627 | as
628 | begin atomic
629 | with (transaction isolation level=snapshot, language=N'us_english')
630 |
631 | declare @i bigint
632 |
633 | insert dbo.memopt default values
634 | select @i = scope_identity()
635 |
636 | delete dbo.memopt where id = @i
637 |
638 | end
639 | GO
640 | GRANT EXECUTE ON interop_32 to nonadmin; GRANT EXECUTE ON native_32 to nonadmin;
641 | GO
642 |
643 | create or ALTER procedure [dbo].[interop_33] as begin exec dbo.native_33 end
644 | GO
645 | CREATE OR ALTER procedure [dbo].[native_33]
646 | with native_compilation, schemabinding, execute as owner
647 | as
648 | begin atomic
649 | with (transaction isolation level=snapshot, language=N'us_english')
650 |
651 | declare @i bigint
652 |
653 | insert dbo.memopt default values
654 | select @i = scope_identity()
655 |
656 | delete dbo.memopt where id = @i
657 |
658 | end
659 | GO
660 | GRANT EXECUTE ON interop_33 to nonadmin; GRANT EXECUTE ON native_33 to nonadmin;
661 | GO
662 |
663 | create or ALTER procedure [dbo].[interop_34] as begin exec dbo.native_34 end
664 | GO
665 | CREATE OR ALTER procedure [dbo].[native_34]
666 | with native_compilation, schemabinding, execute as owner
667 | as
668 | begin atomic
669 | with (transaction isolation level=snapshot, language=N'us_english')
670 |
671 | declare @i bigint
672 |
673 | insert dbo.memopt default values
674 | select @i = scope_identity()
675 |
676 | delete dbo.memopt where id = @i
677 |
678 | end
679 | GO
680 | GRANT EXECUTE ON interop_34 to nonadmin; GRANT EXECUTE ON native_34 to nonadmin;
681 | GO
682 |
683 | create or ALTER procedure [dbo].[interop_35] as begin exec dbo.native_35 end
684 | GO
685 | CREATE OR ALTER procedure [dbo].[native_35]
686 | with native_compilation, schemabinding, execute as owner
687 | as
688 | begin atomic
689 | with (transaction isolation level=snapshot, language=N'us_english')
690 |
691 | declare @i bigint
692 |
693 | insert dbo.memopt default values
694 | select @i = scope_identity()
695 |
696 | delete dbo.memopt where id = @i
697 |
698 | end
699 | GO
700 | GRANT EXECUTE ON interop_35 to nonadmin; GRANT EXECUTE ON native_35 to nonadmin;
701 | GO
702 |
703 | create or ALTER procedure [dbo].[interop_36] as begin exec dbo.native_36 end
704 | GO
705 | CREATE OR ALTER procedure [dbo].[native_36]
706 | with native_compilation, schemabinding, execute as owner
707 | as
708 | begin atomic
709 | with (transaction isolation level=snapshot, language=N'us_english')
710 |
711 | declare @i bigint
712 |
713 | insert dbo.memopt default values
714 | select @i = scope_identity()
715 |
716 | delete dbo.memopt where id = @i
717 |
718 | end
719 | GO
720 | GRANT EXECUTE ON interop_36 to nonadmin; GRANT EXECUTE ON native_36 to nonadmin;
721 | GO
722 |
723 | create or ALTER procedure [dbo].[interop_37] as begin exec dbo.native_37 end
724 | GO
725 | CREATE OR ALTER procedure [dbo].[native_37]
726 | with native_compilation, schemabinding, execute as owner
727 | as
728 | begin atomic
729 | with (transaction isolation level=snapshot, language=N'us_english')
730 |
731 | declare @i bigint
732 |
733 | insert dbo.memopt default values
734 | select @i = scope_identity()
735 |
736 | delete dbo.memopt where id = @i
737 |
738 | end
739 | GO
740 | GRANT EXECUTE ON interop_37 to nonadmin; GRANT EXECUTE ON native_37 to nonadmin;
741 | GO
742 |
743 | create or ALTER procedure [dbo].[interop_38] as begin exec dbo.native_38 end
744 | GO
745 | CREATE OR ALTER procedure [dbo].[native_38]
746 | with native_compilation, schemabinding, execute as owner
747 | as
748 | begin atomic
749 | with (transaction isolation level=snapshot, language=N'us_english')
750 |
751 | declare @i bigint
752 |
753 | insert dbo.memopt default values
754 | select @i = scope_identity()
755 |
756 | delete dbo.memopt where id = @i
757 |
758 | end
759 | GO
760 | GRANT EXECUTE ON interop_38 to nonadmin; GRANT EXECUTE ON native_38 to nonadmin;
761 | GO
762 |
763 | create or ALTER procedure [dbo].[interop_39] as begin exec dbo.native_39 end
764 | GO
765 | CREATE OR ALTER procedure [dbo].[native_39]
766 | with native_compilation, schemabinding, execute as owner
767 | as
768 | begin atomic
769 | with (transaction isolation level=snapshot, language=N'us_english')
770 |
771 | declare @i bigint
772 |
773 | insert dbo.memopt default values
774 | select @i = scope_identity()
775 |
776 | delete dbo.memopt where id = @i
777 |
778 | end
779 | GO
780 | GRANT EXECUTE ON interop_39 to nonadmin; GRANT EXECUTE ON native_39 to nonadmin;
781 | GO
782 |
783 | create or ALTER procedure [dbo].[interop_40] as begin exec dbo.native_40 end
784 | GO
785 | CREATE OR ALTER procedure [dbo].[native_40]
786 | with native_compilation, schemabinding, execute as owner
787 | as
788 | begin atomic
789 | with (transaction isolation level=snapshot, language=N'us_english')
790 |
791 | declare @i bigint
792 |
793 | insert dbo.memopt default values
794 | select @i = scope_identity()
795 |
796 | delete dbo.memopt where id = @i
797 |
798 | end
799 | GO
800 | GRANT EXECUTE ON interop_40 to nonadmin; GRANT EXECUTE ON native_40 to nonadmin;
801 | GO
802 |
803 | create or ALTER procedure [dbo].[interop_41] as begin exec dbo.native_41 end
804 | GO
805 | CREATE OR ALTER procedure [dbo].[native_41]
806 | with native_compilation, schemabinding, execute as owner
807 | as
808 | begin atomic
809 | with (transaction isolation level=snapshot, language=N'us_english')
810 |
811 | declare @i bigint
812 |
813 | insert dbo.memopt default values
814 | select @i = scope_identity()
815 |
816 | delete dbo.memopt where id = @i
817 |
818 | end
819 | GO
820 | GRANT EXECUTE ON interop_41 to nonadmin; GRANT EXECUTE ON native_41 to nonadmin;
821 | GO
822 |
823 | create or ALTER procedure [dbo].[interop_42] as begin exec dbo.native_42 end
824 | GO
825 | CREATE OR ALTER procedure [dbo].[native_42]
826 | with native_compilation, schemabinding, execute as owner
827 | as
828 | begin atomic
829 | with (transaction isolation level=snapshot, language=N'us_english')
830 |
831 | declare @i bigint
832 |
833 | insert dbo.memopt default values
834 | select @i = scope_identity()
835 |
836 | delete dbo.memopt where id = @i
837 |
838 | end
839 | GO
840 | GRANT EXECUTE ON interop_42 to nonadmin; GRANT EXECUTE ON native_42 to nonadmin;
841 | GO
842 |
843 | create or ALTER procedure [dbo].[interop_43] as begin exec dbo.native_43 end
844 | GO
845 | CREATE OR ALTER procedure [dbo].[native_43]
846 | with native_compilation, schemabinding, execute as owner
847 | as
848 | begin atomic
849 | with (transaction isolation level=snapshot, language=N'us_english')
850 |
851 | declare @i bigint
852 |
853 | insert dbo.memopt default values
854 | select @i = scope_identity()
855 |
856 | delete dbo.memopt where id = @i
857 |
858 | end
859 | GO
860 | GRANT EXECUTE ON interop_43 to nonadmin; GRANT EXECUTE ON native_43 to nonadmin;
861 | GO
862 |
863 | create or ALTER procedure [dbo].[interop_44] as begin exec dbo.native_44 end
864 | GO
865 | CREATE OR ALTER procedure [dbo].[native_44]
866 | with native_compilation, schemabinding, execute as owner
867 | as
868 | begin atomic
869 | with (transaction isolation level=snapshot, language=N'us_english')
870 |
871 | declare @i bigint
872 |
873 | insert dbo.memopt default values
874 | select @i = scope_identity()
875 |
876 | delete dbo.memopt where id = @i
877 |
878 | end
879 | GO
880 | GRANT EXECUTE ON interop_44 to nonadmin; GRANT EXECUTE ON native_44 to nonadmin;
881 | GO
882 |
883 | create or ALTER procedure [dbo].[interop_45] as begin exec dbo.native_45 end
884 | GO
885 | CREATE OR ALTER procedure [dbo].[native_45]
886 | with native_compilation, schemabinding, execute as owner
887 | as
888 | begin atomic
889 | with (transaction isolation level=snapshot, language=N'us_english')
890 |
891 | declare @i bigint
892 |
893 | insert dbo.memopt default values
894 | select @i = scope_identity()
895 |
896 | delete dbo.memopt where id = @i
897 |
898 | end
899 | GO
900 | GRANT EXECUTE ON interop_45 to nonadmin; GRANT EXECUTE ON native_45 to nonadmin;
901 | GO
902 |
903 | create or ALTER procedure [dbo].[interop_46] as begin exec dbo.native_46 end
904 | GO
905 | CREATE OR ALTER procedure [dbo].[native_46]
906 | with native_compilation, schemabinding, execute as owner
907 | as
908 | begin atomic
909 | with (transaction isolation level=snapshot, language=N'us_english')
910 |
911 | declare @i bigint
912 |
913 | insert dbo.memopt default values
914 | select @i = scope_identity()
915 |
916 | delete dbo.memopt where id = @i
917 |
918 | end
919 | GO
920 | GRANT EXECUTE ON interop_46 to nonadmin; GRANT EXECUTE ON native_46 to nonadmin;
921 | GO
922 |
923 | create or ALTER procedure [dbo].[interop_47] as begin exec dbo.native_47 end
924 | GO
925 | CREATE OR ALTER procedure [dbo].[native_47]
926 | with native_compilation, schemabinding, execute as owner
927 | as
928 | begin atomic
929 | with (transaction isolation level=snapshot, language=N'us_english')
930 |
931 | declare @i bigint
932 |
933 | insert dbo.memopt default values
934 | select @i = scope_identity()
935 |
936 | delete dbo.memopt where id = @i
937 |
938 | end
939 | GO
940 | GRANT EXECUTE ON interop_47 to nonadmin; GRANT EXECUTE ON native_47 to nonadmin;
941 | GO
942 |
943 | create or ALTER procedure [dbo].[interop_48] as begin exec dbo.native_48 end
944 | GO
945 | CREATE OR ALTER procedure [dbo].[native_48]
946 | with native_compilation, schemabinding, execute as owner
947 | as
948 | begin atomic
949 | with (transaction isolation level=snapshot, language=N'us_english')
950 |
951 | declare @i bigint
952 |
953 | insert dbo.memopt default values
954 | select @i = scope_identity()
955 |
956 | delete dbo.memopt where id = @i
957 |
958 | end
959 | GO
960 | GRANT EXECUTE ON interop_48 to nonadmin; GRANT EXECUTE ON native_48 to nonadmin;
961 | GO
962 |
963 | create or ALTER procedure [dbo].[interop_49] as begin exec dbo.native_49 end
964 | GO
965 | CREATE OR ALTER procedure [dbo].[native_49]
966 | with native_compilation, schemabinding, execute as owner
967 | as
968 | begin atomic
969 | with (transaction isolation level=snapshot, language=N'us_english')
970 |
971 | declare @i bigint
972 |
973 | insert dbo.memopt default values
974 | select @i = scope_identity()
975 |
976 | delete dbo.memopt where id = @i
977 |
978 | end
979 | GO
980 | GRANT EXECUTE ON interop_49 to nonadmin; GRANT EXECUTE ON native_49 to nonadmin;
981 | GO
982 |
983 | create or ALTER procedure [dbo].[interop_50] as begin exec dbo.native_50 end
984 | GO
985 | CREATE OR ALTER procedure [dbo].[native_50]
986 | with native_compilation, schemabinding, execute as owner
987 | as
988 | begin atomic
989 | with (transaction isolation level=snapshot, language=N'us_english')
990 |
991 | declare @i bigint
992 |
993 | insert dbo.memopt default values
994 | select @i = scope_identity()
995 |
996 | delete dbo.memopt where id = @i
997 |
998 | end
999 | GO
1000 | GRANT EXECUTE ON interop_50 to nonadmin; GRANT EXECUTE ON native_50 to nonadmin;
1001 | GO
1002 |
1003 | create or ALTER procedure [dbo].[interop_51] as begin exec dbo.native_51 end
1004 | GO
1005 | CREATE OR ALTER procedure [dbo].[native_51]
1006 | with native_compilation, schemabinding, execute as owner
1007 | as
1008 | begin atomic
1009 | with (transaction isolation level=snapshot, language=N'us_english')
1010 |
1011 | declare @i bigint
1012 |
1013 | insert dbo.memopt default values
1014 | select @i = scope_identity()
1015 |
1016 | delete dbo.memopt where id = @i
1017 |
1018 | end
1019 | GO
1020 | GRANT EXECUTE ON interop_51 to nonadmin; GRANT EXECUTE ON native_51 to nonadmin;
1021 | GO
1022 |
1023 | create or ALTER procedure [dbo].[interop_52] as begin exec dbo.native_52 end
1024 | GO
1025 | CREATE OR ALTER procedure [dbo].[native_52]
1026 | with native_compilation, schemabinding, execute as owner
1027 | as
1028 | begin atomic
1029 | with (transaction isolation level=snapshot, language=N'us_english')
1030 |
1031 | declare @i bigint
1032 |
1033 | insert dbo.memopt default values
1034 | select @i = scope_identity()
1035 |
1036 | delete dbo.memopt where id = @i
1037 |
1038 | end
1039 | GO
1040 | GRANT EXECUTE ON interop_52 to nonadmin; GRANT EXECUTE ON native_52 to nonadmin;
1041 | GO
1042 |
1043 | create or ALTER procedure [dbo].[interop_53] as begin exec dbo.native_53 end
1044 | GO
1045 | CREATE OR ALTER procedure [dbo].[native_53]
1046 | with native_compilation, schemabinding, execute as owner
1047 | as
1048 | begin atomic
1049 | with (transaction isolation level=snapshot, language=N'us_english')
1050 |
1051 | declare @i bigint
1052 |
1053 | insert dbo.memopt default values
1054 | select @i = scope_identity()
1055 |
1056 | delete dbo.memopt where id = @i
1057 |
1058 | end
1059 | GO
1060 | GRANT EXECUTE ON interop_53 to nonadmin; GRANT EXECUTE ON native_53 to nonadmin;
1061 | GO
1062 |
1063 | create or ALTER procedure [dbo].[interop_54] as begin exec dbo.native_54 end
1064 | GO
1065 | CREATE OR ALTER procedure [dbo].[native_54]
1066 | with native_compilation, schemabinding, execute as owner
1067 | as
1068 | begin atomic
1069 | with (transaction isolation level=snapshot, language=N'us_english')
1070 |
1071 | declare @i bigint
1072 |
1073 | insert dbo.memopt default values
1074 | select @i = scope_identity()
1075 |
1076 | delete dbo.memopt where id = @i
1077 |
1078 | end
1079 | GO
1080 | GRANT EXECUTE ON interop_54 to nonadmin; GRANT EXECUTE ON native_54 to nonadmin;
1081 | GO
1082 |
1083 | create or ALTER procedure [dbo].[interop_55] as begin exec dbo.native_55 end
1084 | GO
1085 | CREATE OR ALTER procedure [dbo].[native_55]
1086 | with native_compilation, schemabinding, execute as owner
1087 | as
1088 | begin atomic
1089 | with (transaction isolation level=snapshot, language=N'us_english')
1090 |
1091 | declare @i bigint
1092 |
1093 | insert dbo.memopt default values
1094 | select @i = scope_identity()
1095 |
1096 | delete dbo.memopt where id = @i
1097 |
1098 | end
1099 | GO
1100 | GRANT EXECUTE ON interop_55 to nonadmin; GRANT EXECUTE ON native_55 to nonadmin;
1101 | GO
1102 |
1103 | create or ALTER procedure [dbo].[interop_56] as begin exec dbo.native_56 end
1104 | GO
1105 | CREATE OR ALTER procedure [dbo].[native_56]
1106 | with native_compilation, schemabinding, execute as owner
1107 | as
1108 | begin atomic
1109 | with (transaction isolation level=snapshot, language=N'us_english')
1110 |
1111 | declare @i bigint
1112 |
1113 | insert dbo.memopt default values
1114 | select @i = scope_identity()
1115 |
1116 | delete dbo.memopt where id = @i
1117 |
1118 | end
1119 | GO
1120 | GRANT EXECUTE ON interop_56 to nonadmin; GRANT EXECUTE ON native_56 to nonadmin;
1121 | GO
1122 |
1123 | create or ALTER procedure [dbo].[interop_57] as begin exec dbo.native_57 end
1124 | GO
1125 | CREATE OR ALTER procedure [dbo].[native_57]
1126 | with native_compilation, schemabinding, execute as owner
1127 | as
1128 | begin atomic
1129 | with (transaction isolation level=snapshot, language=N'us_english')
1130 |
1131 | declare @i bigint
1132 |
1133 | insert dbo.memopt default values
1134 | select @i = scope_identity()
1135 |
1136 | delete dbo.memopt where id = @i
1137 |
1138 | end
1139 | GO
1140 | GRANT EXECUTE ON interop_57 to nonadmin; GRANT EXECUTE ON native_57 to nonadmin;
1141 | GO
1142 |
1143 | create or ALTER procedure [dbo].[interop_58] as begin exec dbo.native_58 end
1144 | GO
1145 | CREATE OR ALTER procedure [dbo].[native_58]
1146 | with native_compilation, schemabinding, execute as owner
1147 | as
1148 | begin atomic
1149 | with (transaction isolation level=snapshot, language=N'us_english')
1150 |
1151 | declare @i bigint
1152 |
1153 | insert dbo.memopt default values
1154 | select @i = scope_identity()
1155 |
1156 | delete dbo.memopt where id = @i
1157 |
1158 | end
1159 | GO
1160 | GRANT EXECUTE ON interop_58 to nonadmin; GRANT EXECUTE ON native_58 to nonadmin;
1161 | GO
1162 |
1163 | create or ALTER procedure [dbo].[interop_59] as begin exec dbo.native_59 end
1164 | GO
1165 | CREATE OR ALTER procedure [dbo].[native_59]
1166 | with native_compilation, schemabinding, execute as owner
1167 | as
1168 | begin atomic
1169 | with (transaction isolation level=snapshot, language=N'us_english')
1170 |
1171 | declare @i bigint
1172 |
1173 | insert dbo.memopt default values
1174 | select @i = scope_identity()
1175 |
1176 | delete dbo.memopt where id = @i
1177 |
1178 | end
1179 | GO
1180 | GRANT EXECUTE ON interop_59 to nonadmin; GRANT EXECUTE ON native_59 to nonadmin;
1181 | GO
1182 |
1183 | create or ALTER procedure [dbo].[interop_60] as begin exec dbo.native_60 end
1184 | GO
1185 | CREATE OR ALTER procedure [dbo].[native_60]
1186 | with native_compilation, schemabinding, execute as owner
1187 | as
1188 | begin atomic
1189 | with (transaction isolation level=snapshot, language=N'us_english')
1190 |
1191 | declare @i bigint
1192 |
1193 | insert dbo.memopt default values
1194 | select @i = scope_identity()
1195 |
1196 | delete dbo.memopt where id = @i
1197 |
1198 | end
1199 | GO
1200 | GRANT EXECUTE ON interop_60 to nonadmin; GRANT EXECUTE ON native_60 to nonadmin;
1201 | GO
1202 |
1203 | create or ALTER procedure [dbo].[interop_61] as begin exec dbo.native_61 end
1204 | GO
1205 | CREATE OR ALTER procedure [dbo].[native_61]
1206 | with native_compilation, schemabinding, execute as owner
1207 | as
1208 | begin atomic
1209 | with (transaction isolation level=snapshot, language=N'us_english')
1210 |
1211 | declare @i bigint
1212 |
1213 | insert dbo.memopt default values
1214 | select @i = scope_identity()
1215 |
1216 | delete dbo.memopt where id = @i
1217 |
1218 | end
1219 | GO
1220 | GRANT EXECUTE ON interop_61 to nonadmin; GRANT EXECUTE ON native_61 to nonadmin;
1221 | GO
1222 |
1223 | create or ALTER procedure [dbo].[interop_62] as begin exec dbo.native_62 end
1224 | GO
1225 | CREATE OR ALTER procedure [dbo].[native_62]
1226 | with native_compilation, schemabinding, execute as owner
1227 | as
1228 | begin atomic
1229 | with (transaction isolation level=snapshot, language=N'us_english')
1230 |
1231 | declare @i bigint
1232 |
1233 | insert dbo.memopt default values
1234 | select @i = scope_identity()
1235 |
1236 | delete dbo.memopt where id = @i
1237 |
1238 | end
1239 | GO
1240 | GRANT EXECUTE ON interop_62 to nonadmin; GRANT EXECUTE ON native_62 to nonadmin;
1241 | GO
1242 |
1243 | create or ALTER procedure [dbo].[interop_63] as begin exec dbo.native_63 end
1244 | GO
1245 | CREATE OR ALTER procedure [dbo].[native_63]
1246 | with native_compilation, schemabinding, execute as owner
1247 | as
1248 | begin atomic
1249 | with (transaction isolation level=snapshot, language=N'us_english')
1250 |
1251 | declare @i bigint
1252 |
1253 | insert dbo.memopt default values
1254 | select @i = scope_identity()
1255 |
1256 | delete dbo.memopt where id = @i
1257 |
1258 | end
1259 | GO
1260 | GRANT EXECUTE ON interop_63 to nonadmin; GRANT EXECUTE ON native_63 to nonadmin;
1261 | GO
1262 |
1263 | create or ALTER procedure [dbo].[interop_64] as begin exec dbo.native_64 end
1264 | GO
1265 | CREATE OR ALTER procedure [dbo].[native_64]
1266 | with native_compilation, schemabinding, execute as owner
1267 | as
1268 | begin atomic
1269 | with (transaction isolation level=snapshot, language=N'us_english')
1270 |
1271 | declare @i bigint
1272 |
1273 | insert dbo.memopt default values
1274 | select @i = scope_identity()
1275 |
1276 | delete dbo.memopt where id = @i
1277 |
1278 | end
1279 | GO
1280 | GRANT EXECUTE ON interop_64 to nonadmin; GRANT EXECUTE ON native_64 to nonadmin;
1281 | GO
1282 |
1283 | create or ALTER procedure [dbo].[interop_65] as begin exec dbo.native_65 end
1284 | GO
1285 | CREATE OR ALTER procedure [dbo].[native_65]
1286 | with native_compilation, schemabinding, execute as owner
1287 | as
1288 | begin atomic
1289 | with (transaction isolation level=snapshot, language=N'us_english')
1290 |
1291 | declare @i bigint
1292 |
1293 | insert dbo.memopt default values
1294 | select @i = scope_identity()
1295 |
1296 | delete dbo.memopt where id = @i
1297 |
1298 | end
1299 | GO
1300 | GRANT EXECUTE ON interop_65 to nonadmin; GRANT EXECUTE ON native_65 to nonadmin;
1301 | GO
1302 |
1303 | create or ALTER procedure [dbo].[interop_66] as begin exec dbo.native_66 end
1304 | GO
1305 | CREATE OR ALTER procedure [dbo].[native_66]
1306 | with native_compilation, schemabinding, execute as owner
1307 | as
1308 | begin atomic
1309 | with (transaction isolation level=snapshot, language=N'us_english')
1310 |
1311 | declare @i bigint
1312 |
1313 | insert dbo.memopt default values
1314 | select @i = scope_identity()
1315 |
1316 | delete dbo.memopt where id = @i
1317 |
1318 | end
1319 | GO
1320 | GRANT EXECUTE ON interop_66 to nonadmin; GRANT EXECUTE ON native_66 to nonadmin;
1321 | GO
1322 |
1323 | create or ALTER procedure [dbo].[interop_67] as begin exec dbo.native_67 end
1324 | GO
1325 | CREATE OR ALTER procedure [dbo].[native_67]
1326 | with native_compilation, schemabinding, execute as owner
1327 | as
1328 | begin atomic
1329 | with (transaction isolation level=snapshot, language=N'us_english')
1330 |
1331 | declare @i bigint
1332 |
1333 | insert dbo.memopt default values
1334 | select @i = scope_identity()
1335 |
1336 | delete dbo.memopt where id = @i
1337 |
1338 | end
1339 | GO
1340 | GRANT EXECUTE ON interop_67 to nonadmin; GRANT EXECUTE ON native_67 to nonadmin;
1341 | GO
1342 |
1343 | create or ALTER procedure [dbo].[interop_68] as begin exec dbo.native_68 end
1344 | GO
1345 | CREATE OR ALTER procedure [dbo].[native_68]
1346 | with native_compilation, schemabinding, execute as owner
1347 | as
1348 | begin atomic
1349 | with (transaction isolation level=snapshot, language=N'us_english')
1350 |
1351 | declare @i bigint
1352 |
1353 | insert dbo.memopt default values
1354 | select @i = scope_identity()
1355 |
1356 | delete dbo.memopt where id = @i
1357 |
1358 | end
1359 | GO
1360 | GRANT EXECUTE ON interop_68 to nonadmin; GRANT EXECUTE ON native_68 to nonadmin;
1361 | GO
1362 |
1363 | create or ALTER procedure [dbo].[interop_69] as begin exec dbo.native_69 end
1364 | GO
1365 | CREATE OR ALTER procedure [dbo].[native_69]
1366 | with native_compilation, schemabinding, execute as owner
1367 | as
1368 | begin atomic
1369 | with (transaction isolation level=snapshot, language=N'us_english')
1370 |
1371 | declare @i bigint
1372 |
1373 | insert dbo.memopt default values
1374 | select @i = scope_identity()
1375 |
1376 | delete dbo.memopt where id = @i
1377 |
1378 | end
1379 | GO
1380 | GRANT EXECUTE ON interop_69 to nonadmin; GRANT EXECUTE ON native_69 to nonadmin;
1381 | GO
1382 |
1383 | create or ALTER procedure [dbo].[interop_70] as begin exec dbo.native_70 end
1384 | GO
1385 | CREATE OR ALTER procedure [dbo].[native_70]
1386 | with native_compilation, schemabinding, execute as owner
1387 | as
1388 | begin atomic
1389 | with (transaction isolation level=snapshot, language=N'us_english')
1390 |
1391 | declare @i bigint
1392 |
1393 | insert dbo.memopt default values
1394 | select @i = scope_identity()
1395 |
1396 | delete dbo.memopt where id = @i
1397 |
1398 | end
1399 | GO
1400 | GRANT EXECUTE ON interop_70 to nonadmin; GRANT EXECUTE ON native_70 to nonadmin;
1401 | GO
1402 |
1403 | create or ALTER procedure [dbo].[interop_71] as begin exec dbo.native_71 end
1404 | GO
1405 | CREATE OR ALTER procedure [dbo].[native_71]
1406 | with native_compilation, schemabinding, execute as owner
1407 | as
1408 | begin atomic
1409 | with (transaction isolation level=snapshot, language=N'us_english')
1410 |
1411 | declare @i bigint
1412 |
1413 | insert dbo.memopt default values
1414 | select @i = scope_identity()
1415 |
1416 | delete dbo.memopt where id = @i
1417 |
1418 | end
1419 | GO
1420 | GRANT EXECUTE ON interop_71 to nonadmin; GRANT EXECUTE ON native_71 to nonadmin;
1421 | GO
1422 |
1423 | create or ALTER procedure [dbo].[interop_72] as begin exec dbo.native_72 end
1424 | GO
1425 | CREATE OR ALTER procedure [dbo].[native_72]
1426 | with native_compilation, schemabinding, execute as owner
1427 | as
1428 | begin atomic
1429 | with (transaction isolation level=snapshot, language=N'us_english')
1430 |
1431 | declare @i bigint
1432 |
1433 | insert dbo.memopt default values
1434 | select @i = scope_identity()
1435 |
1436 | delete dbo.memopt where id = @i
1437 |
1438 | end
1439 | GO
1440 | GRANT EXECUTE ON interop_72 to nonadmin; GRANT EXECUTE ON native_72 to nonadmin;
1441 | GO
1442 |
1443 | create or ALTER procedure [dbo].[interop_73] as begin exec dbo.native_73 end
1444 | GO
1445 | CREATE OR ALTER procedure [dbo].[native_73]
1446 | with native_compilation, schemabinding, execute as owner
1447 | as
1448 | begin atomic
1449 | with (transaction isolation level=snapshot, language=N'us_english')
1450 |
1451 | declare @i bigint
1452 |
1453 | insert dbo.memopt default values
1454 | select @i = scope_identity()
1455 |
1456 | delete dbo.memopt where id = @i
1457 |
1458 | end
1459 | GO
1460 | GRANT EXECUTE ON interop_73 to nonadmin; GRANT EXECUTE ON native_73 to nonadmin;
1461 | GO
1462 |
1463 | create or ALTER procedure [dbo].[interop_74] as begin exec dbo.native_74 end
1464 | GO
1465 | CREATE OR ALTER procedure [dbo].[native_74]
1466 | with native_compilation, schemabinding, execute as owner
1467 | as
1468 | begin atomic
1469 | with (transaction isolation level=snapshot, language=N'us_english')
1470 |
1471 | declare @i bigint
1472 |
1473 | insert dbo.memopt default values
1474 | select @i = scope_identity()
1475 |
1476 | delete dbo.memopt where id = @i
1477 |
1478 | end
1479 | GO
1480 | GRANT EXECUTE ON interop_74 to nonadmin; GRANT EXECUTE ON native_74 to nonadmin;
1481 | GO
1482 |
1483 | create or ALTER procedure [dbo].[interop_75] as begin exec dbo.native_75 end
1484 | GO
1485 | CREATE OR ALTER procedure [dbo].[native_75]
1486 | with native_compilation, schemabinding, execute as owner
1487 | as
1488 | begin atomic
1489 | with (transaction isolation level=snapshot, language=N'us_english')
1490 |
1491 | declare @i bigint
1492 |
1493 | insert dbo.memopt default values
1494 | select @i = scope_identity()
1495 |
1496 | delete dbo.memopt where id = @i
1497 |
1498 | end
1499 | GO
1500 | GRANT EXECUTE ON interop_75 to nonadmin; GRANT EXECUTE ON native_75 to nonadmin;
1501 | GO
1502 |
1503 | create or ALTER procedure [dbo].[interop_76] as begin exec dbo.native_76 end
1504 | GO
1505 | CREATE OR ALTER procedure [dbo].[native_76]
1506 | with native_compilation, schemabinding, execute as owner
1507 | as
1508 | begin atomic
1509 | with (transaction isolation level=snapshot, language=N'us_english')
1510 |
1511 | declare @i bigint
1512 |
1513 | insert dbo.memopt default values
1514 | select @i = scope_identity()
1515 |
1516 | delete dbo.memopt where id = @i
1517 |
1518 | end
1519 | GO
1520 | GRANT EXECUTE ON interop_76 to nonadmin; GRANT EXECUTE ON native_76 to nonadmin;
1521 | GO
1522 |
1523 | create or ALTER procedure [dbo].[interop_77] as begin exec dbo.native_77 end
1524 | GO
1525 | CREATE OR ALTER procedure [dbo].[native_77]
1526 | with native_compilation, schemabinding, execute as owner
1527 | as
1528 | begin atomic
1529 | with (transaction isolation level=snapshot, language=N'us_english')
1530 |
1531 | declare @i bigint
1532 |
1533 | insert dbo.memopt default values
1534 | select @i = scope_identity()
1535 |
1536 | delete dbo.memopt where id = @i
1537 |
1538 | end
1539 | GO
1540 | GRANT EXECUTE ON interop_77 to nonadmin; GRANT EXECUTE ON native_77 to nonadmin;
1541 | GO
1542 |
1543 | create or ALTER procedure [dbo].[interop_78] as begin exec dbo.native_78 end
1544 | GO
1545 | CREATE OR ALTER procedure [dbo].[native_78]
1546 | with native_compilation, schemabinding, execute as owner
1547 | as
1548 | begin atomic
1549 | with (transaction isolation level=snapshot, language=N'us_english')
1550 |
1551 | declare @i bigint
1552 |
1553 | insert dbo.memopt default values
1554 | select @i = scope_identity()
1555 |
1556 | delete dbo.memopt where id = @i
1557 |
1558 | end
1559 | GO
1560 | GRANT EXECUTE ON interop_78 to nonadmin; GRANT EXECUTE ON native_78 to nonadmin;
1561 | GO
1562 |
1563 | create or ALTER procedure [dbo].[interop_79] as begin exec dbo.native_79 end
1564 | GO
1565 | CREATE OR ALTER procedure [dbo].[native_79]
1566 | with native_compilation, schemabinding, execute as owner
1567 | as
1568 | begin atomic
1569 | with (transaction isolation level=snapshot, language=N'us_english')
1570 |
1571 | declare @i bigint
1572 |
1573 | insert dbo.memopt default values
1574 | select @i = scope_identity()
1575 |
1576 | delete dbo.memopt where id = @i
1577 |
1578 | end
1579 | GO
1580 | GRANT EXECUTE ON interop_79 to nonadmin; GRANT EXECUTE ON native_79 to nonadmin;
1581 | GO
1582 |
1583 | create or ALTER procedure [dbo].[interop_80] as begin exec dbo.native_80 end
1584 | GO
1585 | CREATE OR ALTER procedure [dbo].[native_80]
1586 | with native_compilation, schemabinding, execute as owner
1587 | as
1588 | begin atomic
1589 | with (transaction isolation level=snapshot, language=N'us_english')
1590 |
1591 | declare @i bigint
1592 |
1593 | insert dbo.memopt default values
1594 | select @i = scope_identity()
1595 |
1596 | delete dbo.memopt where id = @i
1597 |
1598 | end
1599 | GO
1600 | GRANT EXECUTE ON interop_80 to nonadmin; GRANT EXECUTE ON native_80 to nonadmin;
1601 | GO
1602 |
1603 | create or ALTER procedure [dbo].[interop_81] as begin exec dbo.native_81 end
1604 | GO
1605 | CREATE OR ALTER procedure [dbo].[native_81]
1606 | with native_compilation, schemabinding, execute as owner
1607 | as
1608 | begin atomic
1609 | with (transaction isolation level=snapshot, language=N'us_english')
1610 |
1611 | declare @i bigint
1612 |
1613 | insert dbo.memopt default values
1614 | select @i = scope_identity()
1615 |
1616 | delete dbo.memopt where id = @i
1617 |
1618 | end
1619 | GO
1620 | GRANT EXECUTE ON interop_81 to nonadmin; GRANT EXECUTE ON native_81 to nonadmin;
1621 | GO
1622 |
1623 | create or ALTER procedure [dbo].[interop_82] as begin exec dbo.native_82 end
1624 | GO
1625 | CREATE OR ALTER procedure [dbo].[native_82]
1626 | with native_compilation, schemabinding, execute as owner
1627 | as
1628 | begin atomic
1629 | with (transaction isolation level=snapshot, language=N'us_english')
1630 |
1631 | declare @i bigint
1632 |
1633 | insert dbo.memopt default values
1634 | select @i = scope_identity()
1635 |
1636 | delete dbo.memopt where id = @i
1637 |
1638 | end
1639 | GO
1640 | GRANT EXECUTE ON interop_82 to nonadmin; GRANT EXECUTE ON native_82 to nonadmin;
1641 | GO
1642 |
1643 | create or ALTER procedure [dbo].[interop_83] as begin exec dbo.native_83 end
1644 | GO
1645 | CREATE OR ALTER procedure [dbo].[native_83]
1646 | with native_compilation, schemabinding, execute as owner
1647 | as
1648 | begin atomic
1649 | with (transaction isolation level=snapshot, language=N'us_english')
1650 |
1651 | declare @i bigint
1652 |
1653 | insert dbo.memopt default values
1654 | select @i = scope_identity()
1655 |
1656 | delete dbo.memopt where id = @i
1657 |
1658 | end
1659 | GO
1660 | GRANT EXECUTE ON interop_83 to nonadmin; GRANT EXECUTE ON native_83 to nonadmin;
1661 | GO
1662 |
1663 | create or ALTER procedure [dbo].[interop_84] as begin exec dbo.native_84 end
1664 | GO
1665 | CREATE OR ALTER procedure [dbo].[native_84]
1666 | with native_compilation, schemabinding, execute as owner
1667 | as
1668 | begin atomic
1669 | with (transaction isolation level=snapshot, language=N'us_english')
1670 |
1671 | declare @i bigint
1672 |
1673 | insert dbo.memopt default values
1674 | select @i = scope_identity()
1675 |
1676 | delete dbo.memopt where id = @i
1677 |
1678 | end
1679 | GO
1680 | GRANT EXECUTE ON interop_84 to nonadmin; GRANT EXECUTE ON native_84 to nonadmin;
1681 | GO
1682 |
1683 | create or ALTER procedure [dbo].[interop_85] as begin exec dbo.native_85 end
1684 | GO
1685 | CREATE OR ALTER procedure [dbo].[native_85]
1686 | with native_compilation, schemabinding, execute as owner
1687 | as
1688 | begin atomic
1689 | with (transaction isolation level=snapshot, language=N'us_english')
1690 |
1691 | declare @i bigint
1692 |
1693 | insert dbo.memopt default values
1694 | select @i = scope_identity()
1695 |
1696 | delete dbo.memopt where id = @i
1697 |
1698 | end
1699 | GO
1700 | GRANT EXECUTE ON interop_85 to nonadmin; GRANT EXECUTE ON native_85 to nonadmin;
1701 | GO
1702 |
1703 | create or ALTER procedure [dbo].[interop_86] as begin exec dbo.native_86 end
1704 | GO
1705 | CREATE OR ALTER procedure [dbo].[native_86]
1706 | with native_compilation, schemabinding, execute as owner
1707 | as
1708 | begin atomic
1709 | with (transaction isolation level=snapshot, language=N'us_english')
1710 |
1711 | declare @i bigint
1712 |
1713 | insert dbo.memopt default values
1714 | select @i = scope_identity()
1715 |
1716 | delete dbo.memopt where id = @i
1717 |
1718 | end
1719 | GO
1720 | GRANT EXECUTE ON interop_86 to nonadmin; GRANT EXECUTE ON native_86 to nonadmin;
1721 | GO
1722 |
1723 | create or ALTER procedure [dbo].[interop_87] as begin exec dbo.native_87 end
1724 | GO
1725 | CREATE OR ALTER procedure [dbo].[native_87]
1726 | with native_compilation, schemabinding, execute as owner
1727 | as
1728 | begin atomic
1729 | with (transaction isolation level=snapshot, language=N'us_english')
1730 |
1731 | declare @i bigint
1732 |
1733 | insert dbo.memopt default values
1734 | select @i = scope_identity()
1735 |
1736 | delete dbo.memopt where id = @i
1737 |
1738 | end
1739 | GO
1740 | GRANT EXECUTE ON interop_87 to nonadmin; GRANT EXECUTE ON native_87 to nonadmin;
1741 | GO
1742 |
1743 | create or ALTER procedure [dbo].[interop_88] as begin exec dbo.native_88 end
1744 | GO
1745 | CREATE OR ALTER procedure [dbo].[native_88]
1746 | with native_compilation, schemabinding, execute as owner
1747 | as
1748 | begin atomic
1749 | with (transaction isolation level=snapshot, language=N'us_english')
1750 |
1751 | declare @i bigint
1752 |
1753 | insert dbo.memopt default values
1754 | select @i = scope_identity()
1755 |
1756 | delete dbo.memopt where id = @i
1757 |
1758 | end
1759 | GO
1760 | GRANT EXECUTE ON interop_88 to nonadmin; GRANT EXECUTE ON native_88 to nonadmin;
1761 | GO
1762 |
1763 | create or ALTER procedure [dbo].[interop_89] as begin exec dbo.native_89 end
1764 | GO
1765 | CREATE OR ALTER procedure [dbo].[native_89]
1766 | with native_compilation, schemabinding, execute as owner
1767 | as
1768 | begin atomic
1769 | with (transaction isolation level=snapshot, language=N'us_english')
1770 |
1771 | declare @i bigint
1772 |
1773 | insert dbo.memopt default values
1774 | select @i = scope_identity()
1775 |
1776 | delete dbo.memopt where id = @i
1777 |
1778 | end
1779 | GO
1780 | GRANT EXECUTE ON interop_89 to nonadmin; GRANT EXECUTE ON native_89 to nonadmin;
1781 | GO
1782 |
1783 | create or ALTER procedure [dbo].[interop_90] as begin exec dbo.native_90 end
1784 | GO
1785 | CREATE OR ALTER procedure [dbo].[native_90]
1786 | with native_compilation, schemabinding, execute as owner
1787 | as
1788 | begin atomic
1789 | with (transaction isolation level=snapshot, language=N'us_english')
1790 |
1791 | declare @i bigint
1792 |
1793 | insert dbo.memopt default values
1794 | select @i = scope_identity()
1795 |
1796 | delete dbo.memopt where id = @i
1797 |
1798 | end
1799 | GO
1800 | GRANT EXECUTE ON interop_90 to nonadmin; GRANT EXECUTE ON native_90 to nonadmin;
1801 | GO
1802 |
1803 | create or ALTER procedure [dbo].[interop_91] as begin exec dbo.native_91 end
1804 | GO
1805 | CREATE OR ALTER procedure [dbo].[native_91]
1806 | with native_compilation, schemabinding, execute as owner
1807 | as
1808 | begin atomic
1809 | with (transaction isolation level=snapshot, language=N'us_english')
1810 |
1811 | declare @i bigint
1812 |
1813 | insert dbo.memopt default values
1814 | select @i = scope_identity()
1815 |
1816 | delete dbo.memopt where id = @i
1817 |
1818 | end
1819 | GO
1820 | GRANT EXECUTE ON interop_91 to nonadmin; GRANT EXECUTE ON native_91 to nonadmin;
1821 | GO
1822 |
1823 | create or ALTER procedure [dbo].[interop_92] as begin exec dbo.native_92 end
1824 | GO
1825 | CREATE OR ALTER procedure [dbo].[native_92]
1826 | with native_compilation, schemabinding, execute as owner
1827 | as
1828 | begin atomic
1829 | with (transaction isolation level=snapshot, language=N'us_english')
1830 |
1831 | declare @i bigint
1832 |
1833 | insert dbo.memopt default values
1834 | select @i = scope_identity()
1835 |
1836 | delete dbo.memopt where id = @i
1837 |
1838 | end
1839 | GO
1840 | GRANT EXECUTE ON interop_92 to nonadmin; GRANT EXECUTE ON native_92 to nonadmin;
1841 | GO
1842 |
1843 | create or ALTER procedure [dbo].[interop_93] as begin exec dbo.native_93 end
1844 | GO
1845 | CREATE OR ALTER procedure [dbo].[native_93]
1846 | with native_compilation, schemabinding, execute as owner
1847 | as
1848 | begin atomic
1849 | with (transaction isolation level=snapshot, language=N'us_english')
1850 |
1851 | declare @i bigint
1852 |
1853 | insert dbo.memopt default values
1854 | select @i = scope_identity()
1855 |
1856 | delete dbo.memopt where id = @i
1857 |
1858 | end
1859 | GO
1860 | GRANT EXECUTE ON interop_93 to nonadmin; GRANT EXECUTE ON native_93 to nonadmin;
1861 | GO
1862 |
1863 | create or ALTER procedure [dbo].[interop_94] as begin exec dbo.native_94 end
1864 | GO
1865 | CREATE OR ALTER procedure [dbo].[native_94]
1866 | with native_compilation, schemabinding, execute as owner
1867 | as
1868 | begin atomic
1869 | with (transaction isolation level=snapshot, language=N'us_english')
1870 |
1871 | declare @i bigint
1872 |
1873 | insert dbo.memopt default values
1874 | select @i = scope_identity()
1875 |
1876 | delete dbo.memopt where id = @i
1877 |
1878 | end
1879 | GO
1880 | GRANT EXECUTE ON interop_94 to nonadmin; GRANT EXECUTE ON native_94 to nonadmin;
1881 | GO
1882 |
1883 | create or ALTER procedure [dbo].[interop_95] as begin exec dbo.native_95 end
1884 | GO
1885 | CREATE OR ALTER procedure [dbo].[native_95]
1886 | with native_compilation, schemabinding, execute as owner
1887 | as
1888 | begin atomic
1889 | with (transaction isolation level=snapshot, language=N'us_english')
1890 |
1891 | declare @i bigint
1892 |
1893 | insert dbo.memopt default values
1894 | select @i = scope_identity()
1895 |
1896 | delete dbo.memopt where id = @i
1897 |
1898 | end
1899 | GO
1900 | GRANT EXECUTE ON interop_95 to nonadmin; GRANT EXECUTE ON native_95 to nonadmin;
1901 | GO
1902 |
1903 | create or ALTER procedure [dbo].[interop_96] as begin exec dbo.native_96 end
1904 | GO
1905 | CREATE OR ALTER procedure [dbo].[native_96]
1906 | with native_compilation, schemabinding, execute as owner
1907 | as
1908 | begin atomic
1909 | with (transaction isolation level=snapshot, language=N'us_english')
1910 |
1911 | declare @i bigint
1912 |
1913 | insert dbo.memopt default values
1914 | select @i = scope_identity()
1915 |
1916 | delete dbo.memopt where id = @i
1917 |
1918 | end
1919 | GO
1920 | GRANT EXECUTE ON interop_96 to nonadmin; GRANT EXECUTE ON native_96 to nonadmin;
1921 | GO
1922 |
1923 | create or ALTER procedure [dbo].[interop_97] as begin exec dbo.native_97 end
1924 | GO
1925 | CREATE OR ALTER procedure [dbo].[native_97]
1926 | with native_compilation, schemabinding, execute as owner
1927 | as
1928 | begin atomic
1929 | with (transaction isolation level=snapshot, language=N'us_english')
1930 |
1931 | declare @i bigint
1932 |
1933 | insert dbo.memopt default values
1934 | select @i = scope_identity()
1935 |
1936 | delete dbo.memopt where id = @i
1937 |
1938 | end
1939 | GO
1940 | GRANT EXECUTE ON interop_97 to nonadmin; GRANT EXECUTE ON native_97 to nonadmin;
1941 | GO
1942 |
1943 | create or ALTER procedure [dbo].[interop_98] as begin exec dbo.native_98 end
1944 | GO
1945 | CREATE OR ALTER procedure [dbo].[native_98]
1946 | with native_compilation, schemabinding, execute as owner
1947 | as
1948 | begin atomic
1949 | with (transaction isolation level=snapshot, language=N'us_english')
1950 |
1951 | declare @i bigint
1952 |
1953 | insert dbo.memopt default values
1954 | select @i = scope_identity()
1955 |
1956 | delete dbo.memopt where id = @i
1957 |
1958 | end
1959 | GO
1960 | GRANT EXECUTE ON interop_98 to nonadmin; GRANT EXECUTE ON native_98 to nonadmin;
1961 | GO
1962 |
1963 | create or ALTER procedure [dbo].[interop_99] as begin exec dbo.native_99 end
1964 | GO
1965 | CREATE OR ALTER procedure [dbo].[native_99]
1966 | with native_compilation, schemabinding, execute as owner
1967 | as
1968 | begin atomic
1969 | with (transaction isolation level=snapshot, language=N'us_english')
1970 |
1971 | declare @i bigint
1972 |
1973 | insert dbo.memopt default values
1974 | select @i = scope_identity()
1975 |
1976 | delete dbo.memopt where id = @i
1977 |
1978 | end
1979 | GO
1980 | GRANT EXECUTE ON interop_99 to nonadmin; GRANT EXECUTE ON native_99 to nonadmin;
1981 | GO
1982 |
1983 | create or ALTER procedure [dbo].[interop_100] as begin exec dbo.native_100 end
1984 | GO
1985 | CREATE OR ALTER procedure [dbo].[native_100]
1986 | with native_compilation, schemabinding, execute as owner
1987 | as
1988 | begin atomic
1989 | with (transaction isolation level=snapshot, language=N'us_english')
1990 |
1991 | declare @i bigint
1992 |
1993 | insert dbo.memopt default values
1994 | select @i = scope_identity()
1995 |
1996 | delete dbo.memopt where id = @i
1997 |
1998 | end
1999 | GO
2000 | GRANT EXECUTE ON interop_100 to nonadmin; GRANT EXECUTE ON native_100 to nonadmin;
2001 | GO
2002 |
2003 | create or ALTER procedure [dbo].[interop_101] as begin exec dbo.native_101 end
2004 | GO
2005 | CREATE OR ALTER procedure [dbo].[native_101]
2006 | with native_compilation, schemabinding, execute as owner
2007 | as
2008 | begin atomic
2009 | with (transaction isolation level=snapshot, language=N'us_english')
2010 |
2011 | declare @i bigint
2012 |
2013 | insert dbo.memopt default values
2014 | select @i = scope_identity()
2015 |
2016 | delete dbo.memopt where id = @i
2017 |
2018 | end
2019 | GO
2020 | GRANT EXECUTE ON interop_101 to nonadmin; GRANT EXECUTE ON native_101 to nonadmin;
2021 | GO
2022 |
2023 | create or ALTER procedure [dbo].[interop_102] as begin exec dbo.native_102 end
2024 | GO
2025 | CREATE OR ALTER procedure [dbo].[native_102]
2026 | with native_compilation, schemabinding, execute as owner
2027 | as
2028 | begin atomic
2029 | with (transaction isolation level=snapshot, language=N'us_english')
2030 |
2031 | declare @i bigint
2032 |
2033 | insert dbo.memopt default values
2034 | select @i = scope_identity()
2035 |
2036 | delete dbo.memopt where id = @i
2037 |
2038 | end
2039 | GO
2040 | GRANT EXECUTE ON interop_102 to nonadmin; GRANT EXECUTE ON native_102 to nonadmin;
2041 | GO
2042 |
2043 | create or ALTER procedure [dbo].[interop_103] as begin exec dbo.native_103 end
2044 | GO
2045 | CREATE OR ALTER procedure [dbo].[native_103]
2046 | with native_compilation, schemabinding, execute as owner
2047 | as
2048 | begin atomic
2049 | with (transaction isolation level=snapshot, language=N'us_english')
2050 |
2051 | declare @i bigint
2052 |
2053 | insert dbo.memopt default values
2054 | select @i = scope_identity()
2055 |
2056 | delete dbo.memopt where id = @i
2057 |
2058 | end
2059 | GO
2060 | GRANT EXECUTE ON interop_103 to nonadmin; GRANT EXECUTE ON native_103 to nonadmin;
2061 | GO
2062 |
2063 | create or ALTER procedure [dbo].[interop_104] as begin exec dbo.native_104 end
2064 | GO
2065 | CREATE OR ALTER procedure [dbo].[native_104]
2066 | with native_compilation, schemabinding, execute as owner
2067 | as
2068 | begin atomic
2069 | with (transaction isolation level=snapshot, language=N'us_english')
2070 |
2071 | declare @i bigint
2072 |
2073 | insert dbo.memopt default values
2074 | select @i = scope_identity()
2075 |
2076 | delete dbo.memopt where id = @i
2077 |
2078 | end
2079 | GO
2080 | GRANT EXECUTE ON interop_104 to nonadmin; GRANT EXECUTE ON native_104 to nonadmin;
2081 | GO
2082 |
2083 | create or ALTER procedure [dbo].[interop_105] as begin exec dbo.native_105 end
2084 | GO
2085 | CREATE OR ALTER procedure [dbo].[native_105]
2086 | with native_compilation, schemabinding, execute as owner
2087 | as
2088 | begin atomic
2089 | with (transaction isolation level=snapshot, language=N'us_english')
2090 |
2091 | declare @i bigint
2092 |
2093 | insert dbo.memopt default values
2094 | select @i = scope_identity()
2095 |
2096 | delete dbo.memopt where id = @i
2097 |
2098 | end
2099 | GO
2100 | GRANT EXECUTE ON interop_105 to nonadmin; GRANT EXECUTE ON native_105 to nonadmin;
2101 | GO
2102 |
2103 | create or ALTER procedure [dbo].[interop_106] as begin exec dbo.native_106 end
2104 | GO
2105 | CREATE OR ALTER procedure [dbo].[native_106]
2106 | with native_compilation, schemabinding, execute as owner
2107 | as
2108 | begin atomic
2109 | with (transaction isolation level=snapshot, language=N'us_english')
2110 |
2111 | declare @i bigint
2112 |
2113 | insert dbo.memopt default values
2114 | select @i = scope_identity()
2115 |
2116 | delete dbo.memopt where id = @i
2117 |
2118 | end
2119 | GO
2120 | GRANT EXECUTE ON interop_106 to nonadmin; GRANT EXECUTE ON native_106 to nonadmin;
2121 | GO
2122 |
2123 | create or ALTER procedure [dbo].[interop_107] as begin exec dbo.native_107 end
2124 | GO
2125 | CREATE OR ALTER procedure [dbo].[native_107]
2126 | with native_compilation, schemabinding, execute as owner
2127 | as
2128 | begin atomic
2129 | with (transaction isolation level=snapshot, language=N'us_english')
2130 |
2131 | declare @i bigint
2132 |
2133 | insert dbo.memopt default values
2134 | select @i = scope_identity()
2135 |
2136 | delete dbo.memopt where id = @i
2137 |
2138 | end
2139 | GO
2140 | GRANT EXECUTE ON interop_107 to nonadmin; GRANT EXECUTE ON native_107 to nonadmin;
2141 | GO
2142 |
2143 | create or ALTER procedure [dbo].[interop_108] as begin exec dbo.native_108 end
2144 | GO
2145 | CREATE OR ALTER procedure [dbo].[native_108]
2146 | with native_compilation, schemabinding, execute as owner
2147 | as
2148 | begin atomic
2149 | with (transaction isolation level=snapshot, language=N'us_english')
2150 |
2151 | declare @i bigint
2152 |
2153 | insert dbo.memopt default values
2154 | select @i = scope_identity()
2155 |
2156 | delete dbo.memopt where id = @i
2157 |
2158 | end
2159 | GO
2160 | GRANT EXECUTE ON interop_108 to nonadmin; GRANT EXECUTE ON native_108 to nonadmin;
2161 | GO
2162 |
2163 | create or ALTER procedure [dbo].[interop_109] as begin exec dbo.native_109 end
2164 | GO
2165 | CREATE OR ALTER procedure [dbo].[native_109]
2166 | with native_compilation, schemabinding, execute as owner
2167 | as
2168 | begin atomic
2169 | with (transaction isolation level=snapshot, language=N'us_english')
2170 |
2171 | declare @i bigint
2172 |
2173 | insert dbo.memopt default values
2174 | select @i = scope_identity()
2175 |
2176 | delete dbo.memopt where id = @i
2177 |
2178 | end
2179 | GO
2180 | GRANT EXECUTE ON interop_109 to nonadmin; GRANT EXECUTE ON native_109 to nonadmin;
2181 | GO
2182 |
2183 | create or ALTER procedure [dbo].[interop_110] as begin exec dbo.native_110 end
2184 | GO
2185 | CREATE OR ALTER procedure [dbo].[native_110]
2186 | with native_compilation, schemabinding, execute as owner
2187 | as
2188 | begin atomic
2189 | with (transaction isolation level=snapshot, language=N'us_english')
2190 |
2191 | declare @i bigint
2192 |
2193 | insert dbo.memopt default values
2194 | select @i = scope_identity()
2195 |
2196 | delete dbo.memopt where id = @i
2197 |
2198 | end
2199 | GO
2200 | GRANT EXECUTE ON interop_110 to nonadmin; GRANT EXECUTE ON native_110 to nonadmin;
2201 | GO
2202 |
2203 | create or ALTER procedure [dbo].[interop_111] as begin exec dbo.native_111 end
2204 | GO
2205 | CREATE OR ALTER procedure [dbo].[native_111]
2206 | with native_compilation, schemabinding, execute as owner
2207 | as
2208 | begin atomic
2209 | with (transaction isolation level=snapshot, language=N'us_english')
2210 |
2211 | declare @i bigint
2212 |
2213 | insert dbo.memopt default values
2214 | select @i = scope_identity()
2215 |
2216 | delete dbo.memopt where id = @i
2217 |
2218 | end
2219 | GO
2220 | GRANT EXECUTE ON interop_111 to nonadmin; GRANT EXECUTE ON native_111 to nonadmin;
2221 | GO
2222 |
2223 | create or ALTER procedure [dbo].[interop_112] as begin exec dbo.native_112 end
2224 | GO
2225 | CREATE OR ALTER procedure [dbo].[native_112]
2226 | with native_compilation, schemabinding, execute as owner
2227 | as
2228 | begin atomic
2229 | with (transaction isolation level=snapshot, language=N'us_english')
2230 |
2231 | declare @i bigint
2232 |
2233 | insert dbo.memopt default values
2234 | select @i = scope_identity()
2235 |
2236 | delete dbo.memopt where id = @i
2237 |
2238 | end
2239 | GO
2240 | GRANT EXECUTE ON interop_112 to nonadmin; GRANT EXECUTE ON native_112 to nonadmin;
2241 | GO
2242 |
2243 | create or ALTER procedure [dbo].[interop_113] as begin exec dbo.native_113 end
2244 | GO
2245 | CREATE OR ALTER procedure [dbo].[native_113]
2246 | with native_compilation, schemabinding, execute as owner
2247 | as
2248 | begin atomic
2249 | with (transaction isolation level=snapshot, language=N'us_english')
2250 |
2251 | declare @i bigint
2252 |
2253 | insert dbo.memopt default values
2254 | select @i = scope_identity()
2255 |
2256 | delete dbo.memopt where id = @i
2257 |
2258 | end
2259 | GO
2260 | GRANT EXECUTE ON interop_113 to nonadmin; GRANT EXECUTE ON native_113 to nonadmin;
2261 | GO
2262 |
2263 | create or ALTER procedure [dbo].[interop_114] as begin exec dbo.native_114 end
2264 | GO
2265 | CREATE OR ALTER procedure [dbo].[native_114]
2266 | with native_compilation, schemabinding, execute as owner
2267 | as
2268 | begin atomic
2269 | with (transaction isolation level=snapshot, language=N'us_english')
2270 |
2271 | declare @i bigint
2272 |
2273 | insert dbo.memopt default values
2274 | select @i = scope_identity()
2275 |
2276 | delete dbo.memopt where id = @i
2277 |
2278 | end
2279 | GO
2280 | GRANT EXECUTE ON interop_114 to nonadmin; GRANT EXECUTE ON native_114 to nonadmin;
2281 | GO
2282 |
2283 | create or ALTER procedure [dbo].[interop_115] as begin exec dbo.native_115 end
2284 | GO
2285 | CREATE OR ALTER procedure [dbo].[native_115]
2286 | with native_compilation, schemabinding, execute as owner
2287 | as
2288 | begin atomic
2289 | with (transaction isolation level=snapshot, language=N'us_english')
2290 |
2291 | declare @i bigint
2292 |
2293 | insert dbo.memopt default values
2294 | select @i = scope_identity()
2295 |
2296 | delete dbo.memopt where id = @i
2297 |
2298 | end
2299 | GO
2300 | GRANT EXECUTE ON interop_115 to nonadmin; GRANT EXECUTE ON native_115 to nonadmin;
2301 | GO
2302 |
2303 | create or ALTER procedure [dbo].[interop_116] as begin exec dbo.native_116 end
2304 | GO
2305 | CREATE OR ALTER procedure [dbo].[native_116]
2306 | with native_compilation, schemabinding, execute as owner
2307 | as
2308 | begin atomic
2309 | with (transaction isolation level=snapshot, language=N'us_english')
2310 |
2311 | declare @i bigint
2312 |
2313 | insert dbo.memopt default values
2314 | select @i = scope_identity()
2315 |
2316 | delete dbo.memopt where id = @i
2317 |
2318 | end
2319 | GO
2320 | GRANT EXECUTE ON interop_116 to nonadmin; GRANT EXECUTE ON native_116 to nonadmin;
2321 | GO
2322 |
2323 | create or ALTER procedure [dbo].[interop_117] as begin exec dbo.native_117 end
2324 | GO
2325 | CREATE OR ALTER procedure [dbo].[native_117]
2326 | with native_compilation, schemabinding, execute as owner
2327 | as
2328 | begin atomic
2329 | with (transaction isolation level=snapshot, language=N'us_english')
2330 |
2331 | declare @i bigint
2332 |
2333 | insert dbo.memopt default values
2334 | select @i = scope_identity()
2335 |
2336 | delete dbo.memopt where id = @i
2337 |
2338 | end
2339 | GO
2340 | GRANT EXECUTE ON interop_117 to nonadmin; GRANT EXECUTE ON native_117 to nonadmin;
2341 | GO
2342 |
2343 | create or ALTER procedure [dbo].[interop_118] as begin exec dbo.native_118 end
2344 | GO
2345 | CREATE OR ALTER procedure [dbo].[native_118]
2346 | with native_compilation, schemabinding, execute as owner
2347 | as
2348 | begin atomic
2349 | with (transaction isolation level=snapshot, language=N'us_english')
2350 |
2351 | declare @i bigint
2352 |
2353 | insert dbo.memopt default values
2354 | select @i = scope_identity()
2355 |
2356 | delete dbo.memopt where id = @i
2357 |
2358 | end
2359 | GO
2360 | GRANT EXECUTE ON interop_118 to nonadmin; GRANT EXECUTE ON native_118 to nonadmin;
2361 | GO
2362 |
2363 | create or ALTER procedure [dbo].[interop_119] as begin exec dbo.native_119 end
2364 | GO
2365 | CREATE OR ALTER procedure [dbo].[native_119]
2366 | with native_compilation, schemabinding, execute as owner
2367 | as
2368 | begin atomic
2369 | with (transaction isolation level=snapshot, language=N'us_english')
2370 |
2371 | declare @i bigint
2372 |
2373 | insert dbo.memopt default values
2374 | select @i = scope_identity()
2375 |
2376 | delete dbo.memopt where id = @i
2377 |
2378 | end
2379 | GO
2380 | GRANT EXECUTE ON interop_119 to nonadmin; GRANT EXECUTE ON native_119 to nonadmin;
2381 | GO
2382 |
2383 | create or ALTER procedure [dbo].[interop_120] as begin exec dbo.native_120 end
2384 | GO
2385 | CREATE OR ALTER procedure [dbo].[native_120]
2386 | with native_compilation, schemabinding, execute as owner
2387 | as
2388 | begin atomic
2389 | with (transaction isolation level=snapshot, language=N'us_english')
2390 |
2391 | declare @i bigint
2392 |
2393 | insert dbo.memopt default values
2394 | select @i = scope_identity()
2395 |
2396 | delete dbo.memopt where id = @i
2397 |
2398 | end
2399 | GO
2400 | GRANT EXECUTE ON interop_120 to nonadmin; GRANT EXECUTE ON native_120 to nonadmin;
2401 | GO
2402 |
2403 | create or ALTER procedure [dbo].[interop_121] as begin exec dbo.native_121 end
2404 | GO
2405 | CREATE OR ALTER procedure [dbo].[native_121]
2406 | with native_compilation, schemabinding, execute as owner
2407 | as
2408 | begin atomic
2409 | with (transaction isolation level=snapshot, language=N'us_english')
2410 |
2411 | declare @i bigint
2412 |
2413 | insert dbo.memopt default values
2414 | select @i = scope_identity()
2415 |
2416 | delete dbo.memopt where id = @i
2417 |
2418 | end
2419 | GO
2420 | GRANT EXECUTE ON interop_121 to nonadmin; GRANT EXECUTE ON native_121 to nonadmin;
2421 | GO
2422 |
2423 | create or ALTER procedure [dbo].[interop_122] as begin exec dbo.native_122 end
2424 | GO
2425 | CREATE OR ALTER procedure [dbo].[native_122]
2426 | with native_compilation, schemabinding, execute as owner
2427 | as
2428 | begin atomic
2429 | with (transaction isolation level=snapshot, language=N'us_english')
2430 |
2431 | declare @i bigint
2432 |
2433 | insert dbo.memopt default values
2434 | select @i = scope_identity()
2435 |
2436 | delete dbo.memopt where id = @i
2437 |
2438 | end
2439 | GO
2440 | GRANT EXECUTE ON interop_122 to nonadmin; GRANT EXECUTE ON native_122 to nonadmin;
2441 | GO
2442 |
2443 | create or ALTER procedure [dbo].[interop_123] as begin exec dbo.native_123 end
2444 | GO
2445 | CREATE OR ALTER procedure [dbo].[native_123]
2446 | with native_compilation, schemabinding, execute as owner
2447 | as
2448 | begin atomic
2449 | with (transaction isolation level=snapshot, language=N'us_english')
2450 |
2451 | declare @i bigint
2452 |
2453 | insert dbo.memopt default values
2454 | select @i = scope_identity()
2455 |
2456 | delete dbo.memopt where id = @i
2457 |
2458 | end
2459 | GO
2460 | GRANT EXECUTE ON interop_123 to nonadmin; GRANT EXECUTE ON native_123 to nonadmin;
2461 | GO
2462 |
2463 | create or ALTER procedure [dbo].[interop_124] as begin exec dbo.native_124 end
2464 | GO
2465 | CREATE OR ALTER procedure [dbo].[native_124]
2466 | with native_compilation, schemabinding, execute as owner
2467 | as
2468 | begin atomic
2469 | with (transaction isolation level=snapshot, language=N'us_english')
2470 |
2471 | declare @i bigint
2472 |
2473 | insert dbo.memopt default values
2474 | select @i = scope_identity()
2475 |
2476 | delete dbo.memopt where id = @i
2477 |
2478 | end
2479 | GO
2480 | GRANT EXECUTE ON interop_124 to nonadmin; GRANT EXECUTE ON native_124 to nonadmin;
2481 | GO
2482 |
2483 | create or ALTER procedure [dbo].[interop_125] as begin exec dbo.native_125 end
2484 | GO
2485 | CREATE OR ALTER procedure [dbo].[native_125]
2486 | with native_compilation, schemabinding, execute as owner
2487 | as
2488 | begin atomic
2489 | with (transaction isolation level=snapshot, language=N'us_english')
2490 |
2491 | declare @i bigint
2492 |
2493 | insert dbo.memopt default values
2494 | select @i = scope_identity()
2495 |
2496 | delete dbo.memopt where id = @i
2497 |
2498 | end
2499 | GO
2500 | GRANT EXECUTE ON interop_125 to nonadmin; GRANT EXECUTE ON native_125 to nonadmin;
2501 | GO
2502 |
2503 | create or ALTER procedure [dbo].[interop_126] as begin exec dbo.native_126 end
2504 | GO
2505 | CREATE OR ALTER procedure [dbo].[native_126]
2506 | with native_compilation, schemabinding, execute as owner
2507 | as
2508 | begin atomic
2509 | with (transaction isolation level=snapshot, language=N'us_english')
2510 |
2511 | declare @i bigint
2512 |
2513 | insert dbo.memopt default values
2514 | select @i = scope_identity()
2515 |
2516 | delete dbo.memopt where id = @i
2517 |
2518 | end
2519 | GO
2520 | GRANT EXECUTE ON interop_126 to nonadmin; GRANT EXECUTE ON native_126 to nonadmin;
2521 | GO
2522 |
2523 | create or ALTER procedure [dbo].[interop_127] as begin exec dbo.native_127 end
2524 | GO
2525 | CREATE OR ALTER procedure [dbo].[native_127]
2526 | with native_compilation, schemabinding, execute as owner
2527 | as
2528 | begin atomic
2529 | with (transaction isolation level=snapshot, language=N'us_english')
2530 |
2531 | declare @i bigint
2532 |
2533 | insert dbo.memopt default values
2534 | select @i = scope_identity()
2535 |
2536 | delete dbo.memopt where id = @i
2537 |
2538 | end
2539 | GO
2540 | GRANT EXECUTE ON interop_127 to nonadmin; GRANT EXECUTE ON native_127 to nonadmin;
2541 | GO
2542 |
2543 | create or ALTER procedure [dbo].[interop_128] as begin exec dbo.native_128 end
2544 | GO
2545 | CREATE OR ALTER procedure [dbo].[native_128]
2546 | with native_compilation, schemabinding, execute as owner
2547 | as
2548 | begin atomic
2549 | with (transaction isolation level=snapshot, language=N'us_english')
2550 |
2551 | declare @i bigint
2552 |
2553 | insert dbo.memopt default values
2554 | select @i = scope_identity()
2555 |
2556 | delete dbo.memopt where id = @i
2557 |
2558 | end
2559 | GO
2560 | GRANT EXECUTE ON interop_128 to nonadmin; GRANT EXECUTE ON native_128 to nonadmin;
2561 | GO
2562 |
2563 | /*
2564 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2565 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2566 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2567 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2568 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2569 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2570 | SOFTWARE.
2571 |
2572 | This sample code is not supported under any Microsoft standard support program or service.
2573 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
2574 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
2575 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
2576 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
2577 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
2578 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/monitor.sql:
--------------------------------------------------------------------------------
1 | SELECT @@SERVERNAME, @@VERSION
2 | GO
3 |
4 | SELECT *
5 | FROM sys.dm_os_spinlock_stats
6 | ORDER BY backoffs desc
7 | GO
8 |
9 | SELECT *
10 | FROM sys.dm_os_wait_stats
11 | ORDER BY signal_wait_time_ms DESC
12 | GO
13 |
14 | dbcc sqlperf(spinlockstats, 'clear')
15 | GO
16 |
17 | dbcc sqlperf(waitstats, 'clear')
18 | GO
19 |
20 | SELECT *
21 | FROM sys.dm_os_nodes
22 | GO
23 |
24 | exec xp_readerrorlog
25 | GO
26 |
27 | SELECT *
28 | FROM sys.dm_tcp_listener_states
29 | GO
30 |
31 | dbcc tracestatus(-1)
32 | GO
33 |
34 | /*
35 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
36 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
38 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
39 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
40 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
41 | SOFTWARE.
42 |
43 | This sample code is not supported under any Microsoft standard support program or service.
44 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
45 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
46 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
47 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
48 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
49 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/repro.linq:
--------------------------------------------------------------------------------
1 |
2 | System.Threading.Tasks
3 |
4 |
5 | int numThreads = 500;
6 | ThreadPool.SetMinThreads(Environment.ProcessorCount * 25, Environment.ProcessorCount * 8);
7 |
8 | Parallel.For(0, numThreads, i => {
9 | var endpoint = string.Concat("tcp:somesql,1433");
10 |
11 | try
12 | {
13 | // use the below for different port numbers - assuming 8 is the number of soft-NUMA nodes setup
14 | // endpoint = string.Concat(endpoint, ",", 1433 + i % 8);
15 |
16 | using(var con = new SqlConnection($"Data Source={endpoint};Initial Catalog=lockhashrepro;Integrated Security=false;user id=nonadmin;password=somepassword;Max Pool Size=5000;Connection Timeout=300;Encrypt=false;TransparentNetworkIPResolution=false;")) {
17 | con.Open();
18 | var cmd = new SqlCommand();
19 | cmd.Connection = con;
20 |
21 | // single proc (default)
22 | cmd.CommandText = "dbo.interop";
23 |
24 | // Use the below for partitioned cache lookups by using multiple procs
25 | // cmd.CommandText = "dbo.interop_" + (i % 128 + 1).ToString() ;
26 |
27 | cmd.CommandType = CommandType.StoredProcedure;
28 |
29 | int cnt = 0;
30 | while (cnt < 50000) {
31 | cmd.ExecuteNonQuery();
32 | cnt++;
33 | }
34 | }
35 | }
36 | catch(Exception)
37 | {
38 | Console.WriteLine($"Error with {endpoint}");
39 | }
40 | });
41 | /*
42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48 | SOFTWARE.
49 |
50 | This sample code is not supported under any Microsoft standard support program or service.
51 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
52 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
53 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
54 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
55 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
56 | */
57 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/resolved.txt:
--------------------------------------------------------------------------------
1 | Slot_0 [count:1132435]:
2 |
3 | sqldk!XeSosPkg::spinlock_backoff::Publish
4 | sqldk!SpinlockBase::Sleep
5 | sqlmin!Spinlock<143,7,1>::SpinToAcquireWithExponentialBackoff
6 | sqlmin!lck_lockInternal
7 | sqlmin!MDL::LockGenericLocal
8 | sqlmin!MDL::LockGenericIdsLocal
9 | sqlmin!CMEDCacheEntryFactory::GetProxiedCacheEntryById
10 | sqlmin!CMEDProxyDatabase::GetOwnerByOwnerId
11 | sqllang!CSECAccessAuditBase::SetSecurable
12 | sqllang!CSECManager::_AccessCheck
13 | sqllang!CSECManager::AccessCheck
14 | sqllang!FHasEntityPermissionsWithAuditState
15 | sqllang!FHasEntityPermissions
16 | sqllang!CSQLObject::FPostCacheLookup
17 | sqllang!CSQLSource::Transform
18 | sqllang!CSQLSource::Execute
19 | sqllang!CStmtExecProc::XretLocalExec
20 | sqllang!CStmtExecProc::XretExecExecute
21 | sqllang!CXStmtExecProc::XretExecute
22 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
23 | sqllang!CMsqlExecContext::FExecute
24 | sqllang!CSQLSource::Execute
25 | sqllang!process_request
26 | sqllang!process_commands_internal
27 |
28 | Slot_1 [count:1046453]:
29 |
30 | sqldk!XeSosPkg::spinlock_backoff::Publish
31 | sqldk!SpinlockBase::Sleep
32 | sqlmin!Spinlock<143,7,1>::SpinToAcquireWithExponentialBackoff
33 | sqlmin!XactLockInfo::ReleaseUnconditionalSafe
34 | sqlmin!XactLockInfo::ReleaseAll
35 | sqlmin!XdesRMReadOnly::UnInit
36 | sqlmin!ReadOnlyXactImp::Rollback
37 | sqlmin!SqlAutoReadOnlyXact::Rollback
38 | sqlmin!SqlAutoReadOnlyXact::`scalar deleting destructor'
39 | sqllang!FHasEntityPermissionsWithAuditState
40 | sqllang!FHasEntityPermissions
41 | sqllang!CSQLObject::FPostCacheLookup
42 | sqllang!CSQLSource::Transform
43 | sqllang!CSQLSource::Execute
44 | sqllang!CStmtExecProc::XretLocalExec
45 | sqllang!CStmtExecProc::XretExecExecute
46 | sqllang!CXStmtExecProc::XretExecute
47 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
48 | sqllang!CMsqlExecContext::FExecute
49 | sqllang!CSQLSource::Execute
50 | sqllang!process_request
51 | sqllang!process_commands_internal
52 | sqllang!process_messages
53 | sqldk!SOS_Task::Param::Execute
54 |
55 | Slot_2 [count:1334]:
56 |
57 | sqldk!XeSosPkg::spinlock_backoff::Publish
58 | sqldk!SpinlockBase::Sleep
59 | sqldk!SpinlockBase::Backoff
60 | sqlmin!Spinlock<143,7,1>::SpinToAcquireWithExponentialBackoff
61 | sqlmin!lck_lockInternal
62 | sqlmin!MDL::LockGenericLocal
63 | sqlmin!MDL::LockGenericIdsLocal
64 | sqlmin!CMEDCacheEntryFactory::GetProxiedCacheEntryById
65 | sqlmin!CMEDProxyDatabase::GetOwnerByOwnerId
66 | sqllang!CSECAccessAuditBase::SetSecurable
67 | sqllang!CSECManager::_AccessCheck
68 | sqllang!CSECManager::AccessCheck
69 | sqllang!FHasEntityPermissionsWithAuditState
70 | sqllang!FHasEntityPermissions
71 | sqllang!CSQLObject::FPostCacheLookup
72 | sqllang!CSQLSource::Transform
73 | sqllang!CSQLSource::Execute
74 | sqllang!CStmtExecProc::XretLocalExec
75 | sqllang!CStmtExecProc::XretExecExecute
76 | sqllang!CXStmtExecProc::XretExecute
77 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
78 | sqllang!CMsqlExecContext::FExecute
79 | sqllang!CSQLSource::Execute
80 | sqllang!process_request
81 |
82 | Slot_3 [count:1276]:
83 |
84 | sqldk!XeSosPkg::spinlock_backoff::Publish
85 | sqldk!SpinlockBase::Sleep
86 | sqldk!SpinlockBase::Backoff
87 | sqlmin!Spinlock<143,7,1>::SpinToAcquireWithExponentialBackoff
88 | sqlmin!XactLockInfo::ReleaseUnconditionalSafe
89 | sqlmin!XactLockInfo::ReleaseAll
90 | sqlmin!XdesRMReadOnly::UnInit
91 | sqlmin!ReadOnlyXactImp::Rollback
92 | sqlmin!SqlAutoReadOnlyXact::Rollback
93 | sqlmin!SqlAutoReadOnlyXact::`scalar deleting destructor'
94 | sqllang!FHasEntityPermissionsWithAuditState
95 | sqllang!FHasEntityPermissions
96 | sqllang!CSQLObject::FPostCacheLookup
97 | sqllang!CSQLSource::Transform
98 | sqllang!CSQLSource::Execute
99 | sqllang!CStmtExecProc::XretLocalExec
100 | sqllang!CStmtExecProc::XretExecExecute
101 | sqllang!CXStmtExecProc::XretExecute
102 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
103 | sqllang!CMsqlExecContext::FExecute
104 | sqllang!CSQLSource::Execute
105 | sqllang!process_request
106 | sqllang!process_commands_internal
107 | sqllang!process_messages
108 |
109 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/setup.sql:
--------------------------------------------------------------------------------
1 | CREATE LOGIN [nonadmin] WITH PASSWORD=N'somepassword', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
2 | GO
3 |
4 | create database lockhashrepro
5 | go
6 |
7 | use lockhashrepro
8 | go
9 |
10 | ALTER DATABASE lockhashrepro ADD FILEGROUP imoltp CONTAINS MEMORY_OPTIMIZED_DATA
11 | go
12 |
13 | ALTER DATABASE lockhashrepro ADD FILE (name='imoltp_mod1', filename='c:\sqldb\lockhash_imoltp_sql2019ctp23') TO FILEGROUP imoltp
14 | go
15 |
16 | create table memopt(
17 | id bigint identity (1, 1) not null primary key nonclustered hash with (bucket_count = 1000)
18 | )
19 | with (memory_optimized = on, durability = schema_only)
20 | go
21 |
22 | create or alter procedure dbo.native
23 | with native_compilation, schemabinding, execute as owner
24 | as
25 | begin atomic
26 | with (transaction isolation level=snapshot, language=N'us_english')
27 |
28 | declare @i bigint
29 |
30 | insert dbo.memopt default values
31 | select @i = scope_identity()
32 |
33 | delete dbo.memopt where id = @i
34 |
35 | end
36 | go
37 |
38 | create or alter procedure interop
39 | as
40 | begin
41 | exec dbo.native
42 | end
43 | go
44 |
45 | create user nonadmin from login [nonadmin]
46 | alter role db_datareader add member [nonadmin]
47 | alter role db_datawriter add member [nonadmin]
48 | GO
49 |
50 | grant execute on interop to nonadmin
51 | go
52 |
53 | grant execute on native to nonadmin
54 | go
55 |
56 | /*
57 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
58 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
59 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
60 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
61 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
62 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
63 | SOFTWARE.
64 |
65 | This sample code is not supported under any Microsoft standard support program or service.
66 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
67 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
68 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
69 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
70 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
71 | */
72 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/LOCK_HASH/xe_session.sql:
--------------------------------------------------------------------------------
1 | IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name='XESpins')
2 | DROP EVENT SESSION XESpins ON SERVER
3 | GO
4 |
5 | select *
6 | from sys.dm_xe_map_values
7 | where map_value = 'LOCK_HASH'
8 |
9 | CREATE EVENT SESSION XESpins ON SERVER
10 | ADD EVENT sqlos.spinlock_backoff
11 | (
12 | ACTION (package0.callstack)
13 | WHERE type = 151 -- MAKE SURE YOU CHANGE THIS NUMBER!
14 | )
15 | ADD TARGET package0.histogram
16 | (
17 | SET source_type = 1,
18 | source = N'package0.callstack'
19 | )
20 | WITH (
21 | MAX_MEMORY = 32768 KB,
22 | EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
23 | MAX_DISPATCH_LATENCY = 5 SECONDS,
24 | MAX_EVENT_SIZE = 0 KB,
25 | MEMORY_PARTITION_MODE = PER_CPU,
26 | TRACK_CAUSALITY = OFF,
27 | STARTUP_STATE = OFF
28 | );
29 | GO
30 |
31 | alter event session XESpins on server state = start
32 | GO
33 |
34 | select event_session_address, target_name, execution_count, cast (target_data as XML) as SpinlockData
35 | from sys.dm_xe_session_targets xst
36 | inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
37 | where xs.name = 'XESpins'
38 | GO
39 |
40 | -- alter event session XESpins on server state = stop
41 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Memobj/TraceMemObj.sql:
--------------------------------------------------------------------------------
1 | IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name='TraceMemObj')
2 | DROP EVENT SESSION [TraceMemObj] ON SERVER
3 | GO
4 |
5 | CREATE EVENT SESSION [TraceMemObj] ON SERVER
6 | ADD EVENT sqlos.page_allocated(
7 | ACTION(package0.callstack))
8 | ,
9 | ADD EVENT sqlos.page_freed(
10 | ACTION(package0.callstack))
11 | ADD TARGET package0.histogram
12 | (SET source_type=1,
13 | source=N'package0.callstack')
14 | WITH (MAX_MEMORY=32768 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
15 | MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
16 | GO
17 |
18 | ALTER EVENT SESSION [TraceMemObj] on server state = start
19 | GO
20 |
21 | -- wait for problem to repro, and then run the below query. Save the XML data into a file. It can then be visualized using SQLCallStackResolver.
22 | select event_session_address, target_name, execution_count, cast (target_data as XML) as MemObjData
23 | from sys.dm_xe_session_targets xst
24 | inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
25 | where xs.name = 'TraceMemObj'
26 | GO
27 |
28 | -- Then stop the session
29 | -- ALTER EVENT SESSION [TraceMemObj] on server state = stop
30 |
31 | /*
32 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
38 | SOFTWARE.
39 |
40 | This sample code is not supported under any Microsoft standard support program or service.
41 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
42 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
43 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
44 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
45 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
46 | */
47 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Memobj/memobjleak.linq:
--------------------------------------------------------------------------------
1 |
2 | System.Threading.Tasks
3 |
4 |
5 | Parallel.For(0, 500,
6 | () =>
7 | {
8 | var con = new SqlConnection(@"Data Source=.\SQL2017;Initial Catalog=tempdb;Integrated Security=true;Connection Timeout=60");
9 | con.Open();
10 |
11 | return con;
12 | },
13 | (counter, loopState, con) =>
14 | {
15 | Console.WriteLine(counter);
16 |
17 | var cmd = new SqlCommand();
18 | cmd.Connection = con;
19 | cmd.CommandText = @"exec sp_execute_external_script @language = N'R', @script = N'i <- 16';";
20 | cmd.CommandType = CommandType.Text;
21 |
22 | cmd.ExecuteNonQuery();
23 |
24 | return con;
25 | }
26 | ,(con) => {
27 | con.Close();
28 | con.Dispose();
29 | }
30 | );
31 |
32 | /*
33 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
36 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39 | SOFTWARE.
40 |
41 | This sample code is not supported under any Microsoft standard support program or service.
42 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
43 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
44 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
45 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
46 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
47 | */
48 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/Memobj/monitor.sql:
--------------------------------------------------------------------------------
1 | select * from sys.dm_os_memory_objects where type = 'MEMOBJ_COMPILE_ADHOC'
2 |
3 | /*
4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
7 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
10 | SOFTWARE.
11 |
12 | This sample code is not supported under any Microsoft standard support program or service.
13 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
14 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
15 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
16 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
17 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
18 | */
19 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/OOM/CallStack.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 701
6 |
7 |
8 |
9 | 17
10 |
11 |
12 |
13 | 103
14 |
15 |
16 |
17 | false
18 |
19 |
20 |
21 | 2
22 | SERVER
23 |
24 |
25 |
26 | 0x0000009c
27 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
28 |
29 |
30 |
31 | false
32 |
33 |
34 |
35 | There is insufficient system memory in resource pool 'default' to run this query.
36 |
37 |
38 |
39 | sqllang.dll+0x00000000003877FC
40 | sqllang.dll+0x00000000000267EF
41 | sqllang.dll+0x00000000000258DF
42 | sqllang.dll+0x00000000016016EA
43 | sqllang.dll+0x00000000015FE3D8
44 | sqllang.dll+0x00000000015FE654
45 | sqllang.dll+0x0000000001600A28
46 | sqllang.dll+0x000000000160072A
47 | hkengine.dll+0x0000000000030B0D
48 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
49 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
50 | hkruntime.dll+0x00000000000112E8
51 | sqllang.dll+0x00000000015A7859
52 | sqllang.dll+0x00000000015ADDA3
53 | sqllang.dll+0x00000000004024A9
54 | sqllang.dll+0x0000000000D1D83D
55 | sqllang.dll+0x0000000000D1D241
56 | sqllang.dll+0x0000000000D19F98
57 | sqllang.dll+0x00000000000119CA
58 | sqllang.dll+0x0000000000012933
59 | sqllang.dll+0x0000000000012041
60 | sqllang.dll+0x000000000001A82B
61 | sqllang.dll+0x0000000000021542
62 | sqllang.dll+0x00000000000210A3
63 |
64 |
65 |
66 |
67 |
68 | 701
69 |
70 |
71 |
72 | 17
73 |
74 |
75 |
76 | 103
77 |
78 |
79 |
80 | false
81 |
82 |
83 |
84 | 2
85 | SERVER
86 |
87 |
88 |
89 | 0x0000009c
90 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
91 |
92 |
93 |
94 | false
95 |
96 |
97 |
98 | There is insufficient system memory in resource pool 'default' to run this query.
99 |
100 |
101 |
102 | sqllang.dll+0x00000000003877FC
103 | sqllang.dll+0x00000000000267EF
104 | sqllang.dll+0x00000000000258DF
105 | sqllang.dll+0x00000000016016EA
106 | sqllang.dll+0x00000000015FE3D8
107 | sqllang.dll+0x00000000015FE654
108 | sqllang.dll+0x0000000001600A28
109 | sqllang.dll+0x000000000160072A
110 | hkengine.dll+0x0000000000030B0D
111 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
112 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
113 | hkruntime.dll+0x00000000000112E8
114 | sqllang.dll+0x00000000015A7859
115 | sqllang.dll+0x00000000015ADDA3
116 | sqllang.dll+0x00000000004024A9
117 | sqllang.dll+0x0000000000D1D83D
118 | sqllang.dll+0x0000000000D1D241
119 | sqllang.dll+0x0000000000D19F98
120 | sqllang.dll+0x00000000000119CA
121 | sqllang.dll+0x0000000000012933
122 | sqllang.dll+0x0000000000012041
123 | sqllang.dll+0x000000000001A82B
124 | sqllang.dll+0x0000000000021542
125 | sqllang.dll+0x00000000000210A3
126 |
127 |
128 |
129 |
130 |
131 | 701
132 |
133 |
134 |
135 | 17
136 |
137 |
138 |
139 | 103
140 |
141 |
142 |
143 | false
144 |
145 |
146 |
147 | 2
148 | SERVER
149 |
150 |
151 |
152 | 0x0000009c
153 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
154 |
155 |
156 |
157 | false
158 |
159 |
160 |
161 | There is insufficient system memory in resource pool 'default' to run this query.
162 |
163 |
164 |
165 | sqllang.dll+0x00000000003877FC
166 | sqllang.dll+0x00000000000267EF
167 | sqllang.dll+0x00000000000258DF
168 | sqllang.dll+0x00000000016016EA
169 | sqllang.dll+0x00000000015FE3D8
170 | sqllang.dll+0x00000000015FE654
171 | sqllang.dll+0x0000000001600A28
172 | sqllang.dll+0x000000000160072A
173 | hkengine.dll+0x0000000000030B0D
174 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
175 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
176 | hkruntime.dll+0x00000000000112E8
177 | sqllang.dll+0x00000000015A7859
178 | sqllang.dll+0x00000000015ADDA3
179 | sqllang.dll+0x00000000004024A9
180 | sqllang.dll+0x0000000000D1D83D
181 | sqllang.dll+0x0000000000D1D241
182 | sqllang.dll+0x0000000000D19F98
183 | sqllang.dll+0x00000000000119CA
184 | sqllang.dll+0x0000000000012933
185 | sqllang.dll+0x0000000000012041
186 | sqllang.dll+0x000000000001A82B
187 | sqllang.dll+0x0000000000021542
188 | sqllang.dll+0x00000000000210A3
189 |
190 |
191 |
192 |
193 |
194 | 701
195 |
196 |
197 |
198 | 17
199 |
200 |
201 |
202 | 103
203 |
204 |
205 |
206 | false
207 |
208 |
209 |
210 | 2
211 | SERVER
212 |
213 |
214 |
215 | 0x0000009c
216 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
217 |
218 |
219 |
220 | false
221 |
222 |
223 |
224 | There is insufficient system memory in resource pool 'default' to run this query.
225 |
226 |
227 |
228 | sqllang.dll+0x00000000003877FC
229 | sqllang.dll+0x00000000000267EF
230 | sqllang.dll+0x00000000000258DF
231 | sqllang.dll+0x00000000016016EA
232 | sqllang.dll+0x00000000015FE3D8
233 | sqllang.dll+0x00000000015FE654
234 | sqllang.dll+0x0000000001600A28
235 | sqllang.dll+0x000000000160072A
236 | hkengine.dll+0x0000000000030B0D
237 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
238 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
239 | hkruntime.dll+0x00000000000112E8
240 | sqllang.dll+0x00000000015A7859
241 | sqllang.dll+0x00000000015ADDA3
242 | sqllang.dll+0x00000000004024A9
243 | sqllang.dll+0x0000000000D1D83D
244 | sqllang.dll+0x0000000000D1D241
245 | sqllang.dll+0x0000000000D19F98
246 | sqllang.dll+0x00000000000119CA
247 | sqllang.dll+0x0000000000012933
248 | sqllang.dll+0x0000000000012041
249 | sqllang.dll+0x000000000001A82B
250 | sqllang.dll+0x0000000000021542
251 | sqllang.dll+0x00000000000210A3
252 |
253 |
254 |
255 |
256 |
257 | 701
258 |
259 |
260 |
261 | 17
262 |
263 |
264 |
265 | 103
266 |
267 |
268 |
269 | false
270 |
271 |
272 |
273 | 2
274 | SERVER
275 |
276 |
277 |
278 | 0x0000009c
279 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
280 |
281 |
282 |
283 | false
284 |
285 |
286 |
287 | There is insufficient system memory in resource pool 'default' to run this query.
288 |
289 |
290 |
291 | sqllang.dll+0x00000000003877FC
292 | sqllang.dll+0x00000000000267EF
293 | sqllang.dll+0x00000000000258DF
294 | sqllang.dll+0x00000000016016EA
295 | sqllang.dll+0x00000000015FE3D8
296 | sqllang.dll+0x00000000015FE654
297 | sqllang.dll+0x0000000001600A28
298 | sqllang.dll+0x000000000160072A
299 | hkengine.dll+0x0000000000030B0D
300 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
301 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
302 | hkruntime.dll+0x00000000000112E8
303 | sqllang.dll+0x00000000015A7859
304 | sqllang.dll+0x00000000015ADDA3
305 | sqllang.dll+0x00000000004024A9
306 | sqllang.dll+0x0000000000D1D83D
307 | sqllang.dll+0x0000000000D1D241
308 | sqllang.dll+0x0000000000D19F98
309 | sqllang.dll+0x00000000000119CA
310 | sqllang.dll+0x0000000000012933
311 | sqllang.dll+0x0000000000012041
312 | sqllang.dll+0x000000000001A82B
313 | sqllang.dll+0x0000000000021542
314 | sqllang.dll+0x00000000000210A3
315 |
316 |
317 |
318 |
319 |
320 | 701
321 |
322 |
323 |
324 | 17
325 |
326 |
327 |
328 | 103
329 |
330 |
331 |
332 | false
333 |
334 |
335 |
336 | 2
337 | SERVER
338 |
339 |
340 |
341 | 0x0000009c
342 | BUFFER, DEFAULT_NO_USER, ERRORLOG, EVENTLOG
343 |
344 |
345 |
346 | false
347 |
348 |
349 |
350 | There is insufficient system memory in resource pool 'default' to run this query.
351 |
352 |
353 |
354 | sqllang.dll+0x00000000003877FC
355 | sqllang.dll+0x00000000000267EF
356 | sqllang.dll+0x00000000000258DF
357 | sqllang.dll+0x00000000016016EA
358 | sqllang.dll+0x00000000015FE3D8
359 | sqllang.dll+0x00000000015FE654
360 | sqllang.dll+0x0000000001600A28
361 | sqllang.dll+0x000000000160072A
362 | hkengine.dll+0x0000000000030B0D
363 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
364 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
365 | hkruntime.dll+0x00000000000112E8
366 | sqllang.dll+0x00000000015A7859
367 | sqllang.dll+0x00000000015ADDA3
368 | sqllang.dll+0x00000000004024A9
369 | sqllang.dll+0x0000000000D1D83D
370 | sqllang.dll+0x0000000000D1D241
371 | sqllang.dll+0x0000000000D19F98
372 | sqllang.dll+0x00000000000119CA
373 | sqllang.dll+0x0000000000012933
374 | sqllang.dll+0x0000000000012041
375 | sqllang.dll+0x000000000001A82B
376 | sqllang.dll+0x0000000000021542
377 | sqllang.dll+0x00000000000210A3
378 |
379 |
380 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/OOM/ERRORLOG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/OOM/ERRORLOG
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/OOM/resolved.txt:
--------------------------------------------------------------------------------
1 | sqllang!XeSqlPkg::error_reported::Publish
2 | sqllang!ErrorReportedAutoPublish::Publish
3 | sqllang!CErrorReportingManager::CwchFormatAndPrint
4 | sqllang!HkError::HandleException
5 | sqllang!MapHkHResultToSqlError
6 | sqllang!MapHkHResultToSqlError
7 | sqllang!HkError::CreateErrorHelper
8 | sqllang!HkError::CreateError
9 | hkengine!HkRowAlloc
10 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E9FC
11 | xtp_p_5_597577167_185186125354548_1.dll+0x000000000000E653
12 | hkruntime!CAutoRefc::~CAutoRefc
13 | sqllang!HkProc::CallRuntimeExecutionFunction
14 | sqllang!HkProc::FExecuteInternal<0>
15 | sqllang!CSQLSource::Execute
16 | sqllang!CStmtExecProc::XretLocalExec
17 | sqllang!CStmtExecProc::XretExecExecute
18 | sqllang!CXStmtExecProc::XretExecute
19 | sqllang!CMsqlExecContext::ExecuteStmts<1,1>
20 | sqllang!CMsqlExecContext::FExecute
21 | sqllang!CSQLSource::Execute
22 | sqllang!process_request
23 | sqllang!process_commands_internal
24 | sqllang!process_messages
25 |
26 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/OOM/xe_session_701.sql:
--------------------------------------------------------------------------------
1 | CREATE EVENT SESSION [OOM] ON SERVER
2 | ADD EVENT sqlserver.error_reported(
3 | ACTION(package0.callstack)
4 | WHERE (error_number = 701 ))
5 | ADD TARGET package0.ring_buffer
6 | WITH (STARTUP_STATE=OFF)
7 | GO
8 |
9 | alter event session [OOM] on server state = start
10 | GO
11 |
12 | SELECT event_session_address,
13 | target_name,
14 | execution_count,
15 | CAST (target_data AS XML) AS CallStack
16 | FROM sys.dm_xe_session_targets AS xst
17 | INNER JOIN
18 | sys.dm_xe_sessions AS xs
19 | ON (xst.event_session_address = xs.address)
20 | WHERE xs.name = 'OOM';
21 | GO
22 |
23 | -- alter event session [OOM] on server state = stop
24 |
25 | /*
26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32 | SOFTWARE.
33 |
34 | This sample code is not supported under any Microsoft standard support program or service.
35 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
36 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
37 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
38 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
39 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
40 | */
41 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_EX/Monitor.sql:
--------------------------------------------------------------------------------
1 | /*
2 | Monitor TEMPDB PAGELATCH_EX contention by using the scripts below.
3 |
4 | [1] Query to confirm where the resource waits are maximum
5 | */
6 |
7 | select count(*), wait_type, resource_description, sum(wait_duration_ms)
8 | from sys.dm_os_waiting_tasks
9 | group by wait_type, resource_description
10 | having count(*) > 2
11 | order by sum(wait_duration_ms) desc
12 |
13 | -- [2] XE session for capturing wait info histograms
14 |
15 | CREATE EVENT SESSION XEWaits ON SERVER
16 | ADD EVENT sqlos.wait_info(
17 | ACTION(package0.callstack)
18 | WHERE (
19 | [wait_type]=(52) and duration > 0) -- please verify the number by querying select map_key from sys.dm_xe_map_values where map_value = 'pagelatch_ex'
20 | )
21 | ADD TARGET package0.histogram
22 | (SET source_type=1,
23 | source=N'package0.callstack')
24 | WITH (MAX_MEMORY=32768 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
25 | MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
26 | GO
27 |
28 | alter event session XEWaits on server state = start
29 | GO
30 |
31 | -- once the problem is reproduced, get callstacks
32 | select event_session_address, target_name, execution_count, cast (target_data as XML) as WaitData
33 | from sys.dm_xe_session_targets xst
34 | inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
35 | where xs.name = 'XEWaits'
36 |
37 | -- stop XE
38 | alter event session XEWaits on server state = STOP
39 | GO
40 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_EX/repro.sql:
--------------------------------------------------------------------------------
1 | /*
2 | SETUP
3 | -----
4 |
5 | 0. Install SQL 2016 with SP1. Make sure you have sufficient number of TEMPDB data files, ideally 1 per logical CPU to avoid allocation bottlenecks. In my repro I had 8 data files for 8 logical CPUs.
6 |
7 | 1. Install RML tools from https://www.microsoft.com/en-us/download/details.aspx?id=4511. You may need the SQL 2012 native client as well ()
8 |
9 | 2. Run the script shown below to create the procedure, user defined table type necessary for the repro
10 | */
11 |
12 | USE tempdb
13 | GO
14 |
15 | CREATE TYPE [dbo].[keyholder] AS TABLE(
16 | [mycounter] [int] IDENTITY(1,1) NOT NULL,
17 | [somekey] [int] NOT NULL,
18 | PRIMARY KEY NONCLUSTERED
19 | (
20 | [mycounter] ASC
21 | )
22 | )
23 | go
24 |
25 | create proc reproissue
26 | (@p1 dbo.keyholder readonly)
27 | as
28 | begin
29 | set nocount on;
30 |
31 | create table #t1 ([Guid] uniqueidentifier NOT NULL PRIMARY KEY);
32 | insert #t1 values (newid())
33 | select * into #t2 from @p1;
34 |
35 | end
36 | GO
37 |
38 | /*
39 | 3. Repro the issue by running OSTRESS as given below. Adjust the values for n (256 is on a 8-logical CPU system; on a 32 CPU machine you can use -n1024.
40 |
41 | ostress -S. -dTEMPDB -Q"set nocount on; DECLARE @p1 dbo.keyholder; insert @p1 (somekey) values (1); exec reproissue @p1" -n256 -r1000000
42 |
43 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/CacheDB_StoredProcs.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/PAGELATCH_UP/CacheDB_StoredProcs.sql
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/CacheDB_Tables.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/PAGELATCH_UP/CacheDB_Tables.sql
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/Monitor.sql:
--------------------------------------------------------------------------------
1 | /*
2 | Monitor TEMPDB PAGELATCH_UP contention by using the scripts below.
3 |
4 | [1] Query to confirm where the resource waits are maximum
5 | */
6 |
7 | select count(*), wait_type, resource_description, sum(wait_duration_ms)
8 | from sys.dm_os_waiting_tasks
9 | group by wait_type, resource_description
10 | having count(*) > 2
11 | order by sum(wait_duration_ms) desc
12 |
13 | -- [2] XE session for capturing wait info histograms
14 |
15 | CREATE EVENT SESSION XEWaits ON SERVER
16 | ADD EVENT sqlos.wait_info(
17 | ACTION(package0.callstack)
18 | WHERE (
19 | [wait_type]=(51) and duration > 0) -- please verify the number by querying select map_key from sys.dm_xe_map_values where map_value = 'pagelatch_up'
20 | )
21 | ADD TARGET package0.histogram
22 | (SET source_type=1,
23 | source=N'package0.callstack')
24 | WITH (MAX_MEMORY=32768 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
25 | MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
26 | GO
27 |
28 | alter event session XEWaits on server state = start
29 | GO
30 |
31 | -- once the problem is reproduced, get callstacks
32 | select event_session_address, target_name, execution_count, cast (target_data as XML) as WaitData
33 | from sys.dm_xe_session_targets xst
34 | inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
35 | where xs.name = 'XEWaits'
36 |
37 | -- stop XE
38 | alter event session XEWaits on server state = STOP
39 | GO
40 |
41 | /*
42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48 | SOFTWARE.
49 |
50 | This sample code is not supported under any Microsoft standard support program or service.
51 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
52 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
53 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
54 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
55 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
56 | */
57 |
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/cleanupthread.sql:
--------------------------------------------------------------------------------
1 | while 1= 1
2 | begin
3 | waitfor delay '00:00:30'
4 | exec [dbo].[DeleteExpiredCacheItems]
5 | END
6 |
7 | /*
8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
10 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
11 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
13 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
14 | SOFTWARE.
15 |
16 | This sample code is not supported under any Microsoft standard support program or service.
17 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
18 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
19 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
20 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
21 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
22 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/repro.linq:
--------------------------------------------------------------------------------
1 |
2 | System.Threading.Tasks
3 |
4 |
5 | int numThreads = 500;
6 | ThreadPool.SetMinThreads(Environment.ProcessorCount * 25, Environment.ProcessorCount * 8);
7 |
8 | // Number of threads by default is 128 below. Please DECREASE or (rarely) increase as per your hardware setup
9 | Parallel.For(0, 128, i =>
10 | {
11 | using (var con = new SqlConnection(@"Data Source=somesql;Initial Catalog=pfscontention;Integrated Security=false;user id=nonadmin;password=somepassword;Max Pool Size=500"))
12 | {
13 | string lob = new string('~', 500000); // 500KB string
14 | con.Open();
15 |
16 | // store a value
17 | var cmdSet = new SqlCommand();
18 | cmdSet.Connection = con;
19 | cmdSet.CommandText = "SetCacheItem";
20 | cmdSet.CommandType = CommandType.StoredProcedure;
21 | cmdSet.Parameters.AddWithValue("@Key", Thread.CurrentThread.ManagedThreadId.ToString() + i.ToString());
22 | cmdSet.Parameters.AddWithValue("@Value", System.Text.Encoding.Unicode.GetBytes(lob));
23 | cmdSet.Parameters.AddWithValue("@Expiration", DateTime.Now.AddMinutes(5));
24 | cmdSet.ExecuteNonQuery();
25 |
26 | // setup the SqlCommand to get the value
27 | var cmdGet = new SqlCommand();
28 | cmdGet.Connection = con;
29 | cmdGet.CommandText = "GetCacheItem";
30 | cmdGet.CommandType = CommandType.StoredProcedure;
31 | cmdGet.Parameters.AddWithValue("@Key", Thread.CurrentThread.ManagedThreadId.ToString() + i.ToString());
32 | SqlParameter outval = new SqlParameter("@Value", SqlDbType.VarBinary)
33 | {
34 | Direction = ParameterDirection.Output,
35 | Size = -1
36 | };
37 | cmdGet.Parameters.Add(outval);
38 |
39 | int cnt = 0;
40 | long localsum = 0;
41 | while (cnt < 100000)
42 | {
43 | cmdGet.ExecuteNonQuery();
44 | cnt++;
45 | }
46 | }
47 | });
48 | /*
49 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
50 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
51 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
52 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
53 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
54 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
55 | SOFTWARE.
56 |
57 | This sample code is not supported under any Microsoft standard support program or service.
58 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
59 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
60 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
61 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
62 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
63 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/PAGELATCH_UP/setup.sql:
--------------------------------------------------------------------------------
1 | CREATE LOGIN [nonadmin] WITH PASSWORD=N'somepassword', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
2 | GO
3 |
4 | create database pfscontention
5 | go
6 |
7 | use pfscontention
8 | go
9 |
10 | ALTER DATABASE pfscontention ADD FILEGROUP imoltp CONTAINS MEMORY_OPTIMIZED_DATA
11 | go
12 |
13 | ALTER DATABASE pfscontention ADD FILE (name='imoltp_mod1', filename='f:\data\imoltp_pfs_contention_sql2016') TO FILEGROUP imoltp
14 | go
15 |
16 | create user nonadmin
17 | go
18 |
19 | /*
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 | This sample code is not supported under any Microsoft standard support program or service.
29 | The entire risk arising out of the use or performance of the sample scripts and documentation remains with you.
30 | In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts
31 | be liable for any damages whatsoever (including, without limitation, damages for loss of business profits,
32 | business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability
33 | to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
34 | */
--------------------------------------------------------------------------------
/docs/SQLSat696/Demos/xe_wait_completed_0_132353446563350000.xel:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arvindshmicrosoft/SQLCallStackResolver/3e1b22755545d4d613826d2dae2355bc2015b995/docs/SQLSat696/Demos/xe_wait_completed_0_132353446563350000.xel
--------------------------------------------------------------------------------
/lastupdated.txt:
--------------------------------------------------------------------------------
1 | 2025-05-28 01:00
2 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # SQLCallStackResolver has moved
2 | This project is now moved under the [Microsoft GitHub organization](https://github.com/microsoft/SQLCallStackResolver).
3 |
4 | Please visit the new repo for the current source code for SQLCallStackResolver.
5 |
6 | This repo only contains some accompanying presentations that were done at conferences, and miscellaneous files, which are retained for historical reasons and backward compatibility.
7 |
--------------------------------------------------------------------------------