Mais

Consulta SRID, Shape2SQL e SQL Server 2008r2

Consulta SRID, Shape2SQL e SQL Server 2008r2


Estou usando o Shape2SQL para carregar o mapa Meridian 2 do Ordinance Survey no SQL Server 2008r2 (que está funcionando sem problemas e sem dor).

De acordo com esta página (https://alastaira.wordpress.com/2011/02/16/loading-ordnance-survey-open-data-into-sql-server-2008/)

Os dados do Ordnance Survey são definidos usando o National Grid of Great Britain, então sempre certifique-se de carregar seus dados em uma coluna do tipo de dados de geometria, usando SRID 27700.

Eu não tinha ouvido falar de SRID antes, então não toquei nesse valor ao carregar os arquivos SHP. O arquivo roadnode.shp está carregando no momento e percebi que o SRID foi definido como 4326.

Uma vez que os arquivos de mapa estão todos no SQL Server, é uma simples questão de alterar o valor na coluna SRID (ou o que quer que seja chamado) para 27700, ou essa alteração afetará outros dados na tabela?


Normalmente, não, você não pode simplesmente alterar o valor SRID. SRID significa Identificador do Sistema de Referência Espacial e é um valor codificado que descreve em qual sistema de coordenadas está a geometria dos dados.

Vejamos o exemplo dos dois CRS (sistemas de referência de coordenadas) que você possui. 4326 é WGS84, que é um CRS geográfico com graus para unidades e o datum WGS84. 27700 é British National Grid, que é um CRS projetado com medidores para unidades e o datum OSGB_1936. Se você alterar o valor SRID, tudo o que você altera é o rótulo do significado dos valores da geometria, mas não os próprios valores. Agora você tem algum valor que deveria ser graus (0,01745329251994328) e mudou o rótulo para que seja ler como metros. Obviamente, você terá problemas de dimensionamento imediatamente, e os diferentes datums são um problema totalmente diferente.

Para obter mais detalhes, consulte:

Dependendo do que você está trabalhando / fazendo, você precisa deixar o campo SRID sozinho para que o software saiba o CRS em que ele deve estar e possa reprojetar automaticamente os dados conforme necessário (se tiver essa capacidade), ou você mesmo precisa reprojetar os dados para que não apenas o valor SRID mude, mas também os valores das coordenadas geométricas. Observe a distinção entre Definir uma projeção (que altera o rótulo apenas, como você propõe atualmente) e realmente (re) projetar os dados, conforme discutido na segunda questão vinculada.

Depois de revisar a página que você vinculou, tenho a impressão de que o Shape2SQL não consegue ler o CRS dos dados que ele pega, então, em essência, o que você fez com o seu fluxo de trabalho foi definir os dados para a projeção errada (suas entradas são 27700 e você deixe-o definir o CRS como 4236). E não parece que o Shape2SQL tenha qualquer capacidade de reprojeção, então não teria mudado a geometria. Então neste caso específico, se estiver gravando 4236 em um campo em todos os registros, então sim, você pode apenas alterar esses valores para 27700 para corrigir o erro de carregamento. O Shape2SQL é mencionado em algumas outras questões aqui e parece que você não é o primeiro a cometer o erro.


Microsoft SQL Server 2014 - Das Programmierhandbuch

Baixe o Microsoft SQL Server 2014 - Das Programmierhandbuch.

Descrição

Leseprobe Dieses Buch ist für Entwickler der ideale Leitfaden zum SQL Server 2014. In dieser Leseprobe erfahren Sie mehr über die Oberfläche von SQL Server 2014, erhalten eine Einführung in die SQL-Programmierung und nehmen Einmasblick in die Benutverzer.

»Die Oberfläche von SQL Server 2014« »Grundlagen der SQL-Programmierung« »Benutzerverwaltung und Schemas« Inhalt Index Die Autoren

Dirk Mertins, Jörg Neumann, Andreas Kühnel

SQL Server 2014 - Das Programmierhandbuch EPUB-Format, 1.308 Seiten *, em Farbe, 6. Auflage 2014 59,90 Euro, ISBN 978-3-8362-3676-8 * auch erhältlich als gebundenes Buch: 69,90 Euro, ISBN 978 -3-8362-3044-5

Capítulo 4 Die Oberfläche von SQL Server 2014 In diesem Kapitel erhalten Sie einen ersten Überblick über die zentrale Benutzeroberfläche von SQL Server 2014 sowie anderen wichtigen Werkzeugen für die Arbeit mit dem Datenbankserver.

Com o SQL Server 2005 é o Oberfläche von SQL Server eine grundlegende Überarbeitung. Portanto, veja o Einführung des Management Studios e o Arbeit mit SQL Server em Vielen Punkten. Auch mit der Einführung von SQL Server 2014 haben sich einige Änderungen ergeben, obwohl sich diese überwiegend auf Details beziehen. Im Folgenden lernen Sie die für die tägliche Arbeit mit SQL Server wichtigsten Werkzeuge kennen.

4.1 O SQL Server Management Studio O Management Studio está localizado sob o SQL Server 2014 da zentrale Werkzeug para a administração do SQL Server e da Entwicklung do SQL-Code. Encontre o Management Studio em: Iniciar • Todos os programas • Microsoft SQL Server 2014 • SQL Server 2014 Management Studio. Nach dem Aufruf des Management Studios öffnet sich zunächst der in Abbildung 4.1 gezeigte Anmeldedialog von SQL Server, über den die Anmeldung und damit die Authentifizierung am Datenbankserver erfolgt.

Abbildung 4.1 Der Anmeldedialog von SQL Server

Die Oberfläche von SQL Server 2014

Durch die in diesem Dialog dargestellten Optionen legen Sie fest, wie die Verbindung zu SQL Server hergestellt werden soll. Wie aus Abbildung 4.1 hervorgeht, verfügt jede Opção über ein Dropdown-Listenfeld, das - je nach Option - verschiedene Einstellungen anbietet. Einen Überblick über die verschiedenen Verbindungsoptionen gibt Ihnen die folgende Auflistung.

Servertyp SQL Server hat seit der version 7.0 von einem reinen Datenbankserver hin zu einem Programmpaket entwickelt, das neben der Funktion als Datenbankserver viele weitere Komponenten bereitstellt, die - abhängigfall Kontext als alsden Kontext - odens als alservidor de servidor, ebünders alsden Server. Im Dropdown-Listenfeld dieser Option, dargestellt em Abbildung 4.2, werden diese Komponenten aufgelistet.

4.1 Das SQL Server Management Studio

Abkürzung OLAP steht für Online Analytical Processing und bezeichnet eine Technik, mit der umfangreiche Datenbestände durch Sammlung und Vorausberechnung der Daten schnell e umfassend analysiert werden können. Em SQL Server wird diese Technologie unter dem Begriff Analysis Services zusammengefasst. Häufig genannte Stichwörter in diesem Zusammenhang sind Data Warehouse und Data Mart. 왘 Reporting Services

Während es für jeden Microsoft-Access-Anwender selbstverständlich ist, direkt aus dem Datenbankprogramm heraus Formulare oder Berichte zu erstellen - também Abfrageergebnisse zu visualisieren und in übersichtlicher Form auszugeben do SQL Server. Mehrere Softwareanbieter erkannten diese Lücke und entwickelten Anwendungen zur Visualisierung von Datenbankinhalten. Zu den bekanntesten dieser Program zählt Crystal Reports, da von Microsoft no Visual Studio .NET integriert wurde. Um Auswertungen auch mit SQL-Server-eigenen Mitteln zu ermöglichen, veröffentlichte Microsoft em Jahr 2004 erstmals die Reporting Services nachträglich für SQL Server 2000. 왘 Integration Services

Abbildung 4.2 Die Auswahl des Servertyps

Die hier zur Auswahl stehenden Einträge haben die folgenden Bedeutungen: 왘 Datenbankmodul

Der Eintrag Datenbankmodul steht für den eigentlichen Datenbankserver, também den zentralen Bestandteil von SQL Server, durch den die Datenbankfunktionen auf einem Rechner bereitgestellt werden.

Hinweis Für die in diesem Buch behandelten Themen stellt der standardmäßig vorgeschlagene Eintrag Datenbankmodul immer die richtige Auswahl dar. 왘 Analysis Services

Eine der grundlegenden Neuerungen von SQL Server 7.0 bestand in der Einführung der Analysis Services. SQL Server brachte damit erstmals eine zukunftsweisende Technologie, OLAP genannt, zu einem erschwinglichen Preis mit sich. Morrer

Es ist kein Zufall, dass in SQL Server 7.0 zum ersten Mal die Data Transformation Services (DTS) enthalten waren, mit denen - etwas vereinfacht ausgedrückt - Imund Exporte von Daten vorgenommen werden konnten, die in einer zumindest annähernd tabellenart anähernd tabellenart von Daten Formate von einer einfachen Textdatei bis zu einer Tabelle innerhalb eines Oracle-Servers reichten. Wegen ihrer einfachen Handhabung wurden die Serviços de Transformação de Dados bei Bedarf gern für den Imoder Export von Daten in oder aus einer Datenbank eingesetzt. Obwohl sie häufig zu diesem Zweck verwendet wurden, war der Grund ihrer Einführung ein ein anderer: Ein Werkzeug, das umfangreiche Daten, die aus heterogenen - também uneinheitlichen - Datenquellen stammen könnären können, em SQL Server, umsteren können, no SQL Server -Fähigkeit von SQL Server zu unterstützen. Consulte os serviços de transformação de dados do SQL Server 2005 em ihrer alten Form nicht mehr. Die entsprechende Komponente von SQL Server wurde neu entwickelt und wird seitdem als Integration Services bezeichnet. Häufig wird auch die vollständige Bezeichnung SQL Server Integration Services oder die Abkürzung SSIS verwendet. Ob Sie sich an einem der angegebenen Servertypen anmelden können, hängt davon ab, ob ein eventuell benötigter Dienst (siehe Abschnitt 4.4, »Überblick über die SQLServer-Dienste«) gestartet wurde, und selbstverständlich konstende. In der Auswahl des Kombinationsfeldes werden jedoch auch nicht installierte Servertypen angeboten. Der Versuch, eine Verbindung

Die Oberfläche von SQL Server 2014

zu den nicht installierten Reporting Services aufzubauen, führt zum Beispiel zu der in Abbildung 4.3 gezeigten Fehlermeldung.

4.1 Das SQL Server Management Studio

Der erste Reiter des sich daraufhin öffnenden Dialogs listet die oben beschriebenen verschiedenen Servertypen auf. Ist der entsprechende Servertyp auf dem lokalen Rechner installiert und der entsprechende Dienst gestartet, kann eine Verbindung zu ihm hergestellt werden. Abbildung 4.5 zeigt den Dialog for einen SQL Server, der gemäß der Beispielinstallation aus Kapitel 1, »Installation und Aktualisierung von SQL Server 2014«, konfiguriert wurde und daher als einzig erweiter- und auswählbaren Servertyp das Datenbankmodul anbietet.

Abbildung 4.3 Fehlermeldung aufgrund einer nicht installierten oder nicht erreichbaren Komponente

Nome do servidor Über die Option Nome do servidor wählen Sie aus, zu welcher SQL-Server-Instanz eine Verbindung hergestellt werden soll. Da die überwiegende Anzahl der SQL-ServerInstallationen nur über eine Instanz, die Standardinstanz, verfügt, ist der Name der SQL-Server-Instanz in der Regel mit der Bezeichnung des jeweiligen Computers identisch. Im Folgenden verwenden wir daher zur Vereinfachung den Begriff Server para eine SQL-Server-Instanz, um nicht zwischen verschiedenen Instanz- und Servernamen unterscheiden zu müssen.

Abbildung 4.5 Der Zugriff auf die lokal installierten Servertypen

Als padrão wird in diesem Feld der letzte Server eingetragen, zu dem eine Verbindung aufgebaut wurde. Cai a instalação do SQL Server auf dem lokalen Rechner erfolgte, wird an dieser Stelle der lokale Servername angezeigt. Soll eine Verbindung zu einem anderen Server als dem lokalen hergestellt werden, verwenden Sie den in Abbildung 4.4 dargestellten Eintrag.

Zugriff auf alle innerhalb eines Netzwerks verfügbaren Servidor bietet der zweite Reiter, Netzwerkserver. Durch die Auswahl morre Reiters wird die Suche nach verfügbaren Servern im Netzwerk gestartet. Dieser Vorgang kann einige Sekunden dauern, danach wird eine nach Servertyp gruppierte Liste aller verfügbaren Server angezeigt, wie Abbildung 4.6 e mehrerer SQL Server zeigt, die lediglich das Datenbankmodul zur Verfügung stellen.

Abbildung 4.4 Die Serverauswahl

Abbildung 4.6 Eine Liste der verfügbaren Server im Netzwerk

Die Oberfläche von SQL Server 2014

Durch die Auswahl eines Servers und die Bestätigung über die Schaltfläche OK wird daraufhin ein Anmeldedialog mit den Einträgen des Servertyps und des Servernamens generiert, die der getroffenen Auswahl entsprechen. Im Gegensatz zu den beiden anderen, em Abbildung 4.4 aktiviert dargestellten Kombinationsfeldern können Sie im Feld Nome do servidor manuelle Eingaben vornehmen. Ist der Name eines Servers bekannt, können Sie ihn also auch manuell eintragen. Für den Zugriff auf den lokalen Server können Sie sogar auf die explizite Angabe des Servernamens verzichten. Als Platzhalter für den lokalen Servernamen werden auch ein Punkt, der Eintrag (local) ou localhost akzeptiert.

4.1 Das SQL Server Management Studio

Da - unabhängig von der Konfiguration des Datenbankservers - immer beide Authentifizierungsarten angeboten werden, ist es durchaus möglich, den Versuch zu unternehmen, sich mit Hilfe der SQL-Server-Authentifizierung an einem Server anzumelden-diezstißie-dellen, Authenticätlässlässchäräschärüstüstüstün der ausslär der aussie. Solch ein Versuch resultiert in der in Abbildung 4.8 gezeigten Fehlermeldung.

Authentifizierung SQL Server stellt, wie bereits in Kapitel 1, »Installation und Aktualisierung von SQL Server 2014«, erwähnt, zwei verschiedene Möglichkeiten zur Authentifizierung am Server zur Verfügung: die Windows- und die SQL-Server-Authentifizierung. Beide Authentifizierungsarten werden, wie in Abbildung 4.7 dargestellt, im Anmeldedialog angeboten, unabhängig davon, ob der ausgewählte SQL Server tatsächlich so konfiguriert ist, dass er beide Authentifizierungsarten unterstützt. Als Standard wird in diesem Dialog die zuletzt erfolgreich verwendete Authentifizierungsart angeboten.

Abbildung 4.8 Fehlermeldung bei dem Versuch, eine SQL-Server-Authentifizierung an einem Server zu verwenden, der ausschließlich die Windows-Authentifizierung unterstützt

Em Früheren Versionen von SQL Server hatte diese Fehlermeldung dagegen die em Abbildung 4.9 gezeigte Form.

Abbildung 4.9 Ehemalige Version der Fehlermeldung

Abbildung 4.7 Die Auswahl der Authentifizierung an SQL Server

Wählen Sie die SQL Server-Authentifizierung zur Anmeldung an den Server aus, were die bislang deaktivierten Felder Benutzername und Kennwort Aktiviert, wobei im Feld Benutzername der zuletzt verwendete Benutzer angezeigt wird. Die Eingabe des Kennworts erfolgt verdeckt. Die angebotene Option, das Kennwort zu speichern, sollten Sie aus Sicherheitsgründen besser nur em Ausnahmefällen verwenden.

Als vertrauenswürdig werden bei einer entsprechenden Konfiguration des Servers lediglich Konten angesehen, die über eine Windows-Authentifizierung verfügen. Da die ehemalige Fehlermeldung Rückschlüsse darauf zuließ, ob ein SQL Server lediglich die Windows-Authentifizierung oder den gemischten Modus erlaubte, konnte dieses Verhalten unter dem Aspekt der Sicherheit durchaus kritisch betrachtet ein Kritisch betrachten ein Kritisch betrachtet zum Server durch das Ausprobieren verschiedener Kombinationen aus Benutzernamen und Kennwörtern möglich war. Insofern stellt die aktuelle Fehlermeldung sicherlich eine Verbesserung dar. Sind die Verbindungsoptionen im Anmeldedialog gültig, öffnet sich nach dem Anklicken der Schaltfläche Verbinden das Management Studio, dessen Oberfläche in Abbildung 4.10 dargestellt ist.

Die Oberfläche von SQL Server 2014

4.1 Das SQL Server Management Studio

Abbildung 4.10 Das SQL Server Management Studio mit geöffnetem Abfragefenster

Die folgende Einführung in die Oberfläche von SQL Server soll Sie mit den wesentlichen Elementen des Management Studios vertraut machen.

4.1.1 Der Objekt-Explorer Im Objekt-Explorer - em Abbildung 4.10 links dargestellt - foram encontrados em einer Baumstruktur die zentralen Komponenten des SQL-Server-Datenbankmoduls dargestellt. Im Stammverzeichnis dieser Baumstruktur wird angezeigt, zu welchem ​​Server und unter welchem ​​Benutzerkonto die Verbindung hergestellt wurde. Weitere Verbindungen können Sie über das Kombinationsfeld Verbinden aufbauen. Dazu wählen Sie aus dem Kombinationsfeld zunächst den Servertyp aus, zu dem eine Verbindung aufgebaut werden soll. Anschließend wird ein entsprechender Anmeldedialog generiert, mit dem die Verbindung zu dem gewünschten Servidor hergestellt wird. Den Objekt-Explorer werden wir im weiteren Verlauf des Buches häufig verwenden, deshalb verzichten wir an dieser Stelle auf eine ausführliche Erläuterung.

Anzeige der Servereigenschaften Über das Kontextmenü eines Server-Stammeintrags (também aninhado no Abbildung 4.10 dunkel unterlegten Eintrag im Objekt-Explorer) können Sie weitere Informationen zu diesem Server abrufen. Dazu wählen Sie im Kontextmenü des Servers den Menüpunkt Eigenschaften aus. Das sich daraufhin öffnende Fenster bietet ausführliche Informationen zu den Eigenschaften des Servers, unter anderem zu den aktuellen Einstellungen und der Hardware. Em Abbildung 4.11 ist zum Beispiel die Seite Sicherheit des Fensters Servereigenschaften dargestellt, em der Sie unter anderem festlegen, welche Arten der Authentifizierung zulässig sind.

Abbildung 4.11 Sicherheitseinstellungen des Servers

Datenbanken No SQL Server wird zwischen zwei verschiedenen Arten von Datenbanken unterschieden: den benutzerdefinierten Datenbanken - verkürzt auch Benutzerdatenbanken genannt - und den sogenannten Systemdatenbanken. Benutzerdefinierte Datenbanken sind Datenbanken, die angelegt werden, um zum Beispiel Daten einer Anwendung zu speichern und diese später abzufragen. Es handelt sich dabei também um spezielle Anwendungsdatenbanken. SQL Server verwaltet generelle Informationen über den Server in einer for einen Datenbankserver typischen Weise: Er legt diese Informationen in speziellen Datenbanken ab. Diese Datenbanken werden als Systemdatenbanken bezeichnet. Sie sind für die Funktion des Datenbankservers von zentraler Bedeutung.

Die Oberfläche von SQL Server 2014

Übersicht über die Systemdatenbanken

4.1 Das SQL Server Management Studio

banco erhalten kann, werden diese Informationen über sogenannte Systemsichten zur Verfügung gestellt.

Die Unterscheidung der beiden Datenbanktypen zeigt sich deutlich im ObjektExplorer, in dem - wie aus Abbildung 4.12 hervorgeht - für die Systemdatenbanken ein eigener Ordner existiert.

Abbildung 4.12 Auflistung der Systemdatenbanken im Management Studio

Die Funktion der vier dargestellten Systemdatenbanken wird in der folgenden Auflistung erläutert. 왘 »master« -Datenbank

In vielen früheren Versionen von SQL Server stellte die master-Datenbank die zentrale Datenbank von SQL Server dar, in der die Informationen enthalten waren, die SQL Server zur eigenen Verwaltung benötigte. Dazu zählten zum Beispiel Informationen zu den auf dem Server vorhandenen Datenbanken oder zu den eingetragenen Anmeldekonten. Solche Daten, die Informationen über andere Daten enthalten, werden auch als Metadaten bezeichnet. Falls Sie bereits mit früheren Versionen von SQL Server gearbeitet haben, wird Ihnen vielleicht aufgefallen sein, dass in der master-Datenbank seit SQL Server 2005 em Vergleich zu den Vorgängerversionen nur noch wenige Systemtabellen enthalten sind, wieigildung 4.13 ze Abbtenbank.

Die model-Datenbank stellt - wie durch den Namen bereits angedeutet wird - die Vorlage für jede neu erstellte Datenbank von SQL Server dar. Praktische Verwendung findet diese Datenbank relativ selten. In der Praxis erfolgt ein Zugriff auf die model-Datenbank typischerweise dann, wenn in jeder neu erstellten Datenbank bestimmte Datenbankobjekte bereits vorhanden sein sollen. Diese werden dann einmal in der model-Datenbank erstellt und sind somit em jeder danach neu erstellten Datenbank des Servers ebenfalls vorhanden. Die msdb-Datenbank wird von SQL Server dazu verwendet, Aufträge zu verwalten, die er erledigen muss. In der Regel handelt es sich dabei um regelmäßige, zeitlich gesteuerte Vorgänge wie die Durchführung von Datenbanksicherungen oder Wartungsaufgaben. Eine entsprechende Aktion kann no SQL Server aber auch nur einmalig zu einem festgelegten Zeitpunkt ausgelöst werden oder wenn die Prozessorauslastung für längere Zeit unter einen bestimmten Wert fällt. Die für die Durchführung solcher Aufgaben notwendigen Informationen werden in der msdb-Datenbank vorgehalten. 왘 »tempdb« -Datenbank

Auch der Name dieser Datenbank deutet bereits auf ihre Funktion hin: In ihr werden temporäre Datenbankobjekte abgelegt, die von Datenbankprogrammierern zum Beispiel dazu verwendet werden können, Daten zwischenzuspeichern. SQL Server nutzt diese Datenbank auch für Sortiervorgänge. Die tempdb-Datenbank besitzt eine weitere Besonderheit, die sie von allen anderen System- oder Benutzerdatenbanken unterscheidet:

Hinweis Die tempdb-Datenbank wird bei jedem Neustart von SQL Server neu erstellt.

Abbildung 4.13 Die Systemtabellen der »master« -Datenbank

Das liegt daran, dass ein Großteil der ehemals in dieser Datenbank gespeicherten Daten dem direkten Zugriff des Anwenders entzogen wurde. Da ein Benutzer - anders als bei der master-Datenbank früherer Versionen von SQL Server - viele Informationen nicht mehr durch direkten lesenden Zugriff auf die master-Daten-

Die Inhalte dieser Datenbank werden também bei jedem Neustart des Datenbankservers gelöscht. Sie ist daher nicht zur permanenten Speicherung von Daten geeignet. In einer Entwicklungsumgebung stellt dieses Verhalten jedoch häufig eine bequeme Möglichkeit dar, Datenbankobjekte wie Tabellen probeweise zu erstellen, ohne sie später explizit löschen zu müssen. Die Systemdatenbanken sind - wie oben bereits erwähnt - für die Funktion des Datenbankservers von zentraler Bedeutung und werden daher immer zusammen mit dem Datenbankserver installiert und von ihm - und nur von ihm - verwaltet.

Die Oberfläche von SQL Server 2014

Hinweis Sie sollten daher niemals versuchen, Systemdatenbanken zu manipulieren!

Informationen, die in den Systemdatenbanken abgespeichert sind, werden von SQL Server automatisch aktualisiert beziehungsweise eingefügt, wenn dies erforderlich ist. Manipulationen an zentralen Komponenten des Servers sind daher niemals notwendig und werden von SQL Server ohnehin weitgehend verhindert. Sollte eine solche Manipulação trotzdem gelingen, kann dies fatale Auswirkungen auf die Funktion des Datenbankservers haben. Der in Abbildung 4.12 dargestellte Eintrag Datenbank-Momentaufnahmen war eine mit SQL Server 2005 sob o Bezeichnung Datenbanksnapshots eingeführte Neuerung. No SQL Server 2014, foram Snapshots als Momentaufnahmen bezeichnet. Eine Datenbank-Momentaufnahme bildet den Zustand einer Datenbank zu einem bestimmten Zeitpunkt ab. Wir werden diese Technik em Kapitel 8, »Erstellen und Ändern von Datenbanken«, eingehend besprechen.

Anzeige der Struktur und der Inhalte einer Datenbank Um Abfragen an eine Datenbank zu stellen und die Ergebnisse überprüfen zu können, müssen der Aufbau der Datenbank, die Struktur der verwendeten Tabellen und deren Inhalt - também die vorkensen se. Die dazu notwendigen Techniken werden wir im Folgenden e der Beispieldatenbank AdventureWorks2014 verdeutlichen, die im Objekt-Explorer em Abbildung 4.12 bereits neben den Systemdatenbanken dargestellt wurde.

4.1 Das SQL Server Management Studio

Bei dieser Beispieldatenbank handelt es sich um eine Nachfolgerin der ursprünglichen, mit SQL Server 2005 eingeführten AdventureWorks-Datenbank. In der Folge hat Microsoft for Jede Version von SQL Server eine spezielle Beispieldatenbank veröffentlicht und den Namen mit der Version des Servers gekennzeichnet. Em diesem Buch werden wir diese Beispieldatenbank für viele Beispiele verwenden.

Erstellung eines Datenbankdiagramms Die einfachste Möglichkeit, einen Überblick über die Struktur einer Datenbank zu erhalten, bietet ein Datenbankdiagramm. Neben der Anzeige im Management Studio kann auch die Ausgabe auf einen Drucker erfolgen. Zu einer Datenbank, die ja über eine durchaus komplexe Struktur verfügen kann, lassen sich beliebig viele Datenbankdiagramme erstellen, um entweder einen kompletten Überblick über die Datenbank oder über Teile davon zu erhalt. Wurde für eine Datenbank noch kein Datenbankdiagramm erstellt, muss zuerst die Unterstützung für Datenbankdiagramme installiert werden. Dies erfolgt durch Aufruf des Kontextmenüs des in Abbildung 4.14 dargestellten Eintrags Datenbankdiagramme und die Auswahl des Menüpunkts Diagrammunterstützung installieren. Este é o Unterstützung bei dem Versuch, ein Datenbankdiagramm zu erstellen, nicht installiert, weist SQL Server auf diesen Umstand hin. In beiden Fällen wird der in Abbildung 4.15 dargestellte Dialog eingeblendet, mit dem Sie die Diagrammunterstützung installieren können. Der Menüpunkt Diagrammunterstützung installieren wird anschließend im Kontextmenü nicht mehr angeboten, was eine Kontrolle darüber ermöglicht, ob die Unterstützung in der jeweiligen Datenbank bereits installiert wurde.

Abbildung 4.15 Dialog zur Installation der Diagrammunterstützung

Abbildung 4.14 Die Struktur der Datenbank AdventureWorks2014

Durch die Erweiterung der Struktur bis auf die Datenbankebene der AdventureWorks2014-Datenbank erreichen Sie die in Abbildung 4.14 gezeigte Darstellung, in der die Komponenten der Beispieldenbank aufgelistet und die als Ausgangspunkt di weren setrere weiteren.

Die Erstellung eines Datenbankdiagramms wird durch den Menüpunkt Neues Datenbankdiagramm des Kontextmenüs eingeleitet. In dem sich öffnenden Fenster (siehe Abbildung 4.16) werden die verfügbaren Tabellen der Datenbank angezeigt. Diese können Sie über die Schaltfläche Hinzufügen em das Datenbankdiagramm aufnehmen. Für das im Folgenden verwendete Datenbankdiagramm wurden alle Tabellen mit dem Zusatz Production dem Diagramm hinzugefügt.

Die Oberfläche von SQL Server 2014

4.1 Das SQL Server Management Studio

Nachdem das Datenbankdiagramm erstellt wurde, sind in der Regel noch einige Nacharbeiten notwendig, um eine übersichtliche Darstellung zu erzielen. Zwar bietet das Kontextmenü des Diagramms unter dem Punkt Tabellen anordnen die automatische Anordnung der Tabellen an, jedoch liefert diese Methode oftmals kein zufriedenstellendes Ergebnis, und die Tabellen müssen manuell platziert werden. Soll die Position aller Tabellen verändert werden, müssen Sie diese zunächst auswählen. Dazu verwenden Sie den Menüpunkt Alle auswählen des Kontextmenüs oder ziehen mit gedrückter linker Maustaste einen Rahmen um die Tabellen auf. Im zweiten Fall müssen Sie die Darstellung eventuell über das Kombinationsfeld Zoom in der Größe anpassen. In beiden Fällen erfolgt das Verschieben durch Anklicken der Titelleiste einer markierten Tabelle und Ziehen mit der Maus. Abbildung 4.16 Auswahl der Tabellen eines Datenbankdiagramms

Sollte sich die im Assistenten vorgenommene Auswahl später als fehlerhaft erweisen, können Sie fehlende oder versehentlich hinzugefügte Tabellen im Datenbankdiagramm nachträglich hinzufügen beziehungsweise. Die hinzugefügten Tabellen werden bereits während der Auswahl im Hintergrund eingeblendet. Nach Abschluss der Tabellenauswahl durch die Schaltfläche Schliessen werden die Tabellen automatisch angeordnet. Je nach Umfang des zu erstellenden Diagramms kann dieser Vorgang durchaus etwas Zeit em Anspruch nehmen. Abbildung 4.17 zeigt einen kleinen Ausschnitt des neu erstellten Datenbankdiagramms.

Soll die Position einer einzelnen Tabelle geändert werden, müssen Sie eine eventuell vorhandene Auswahl mehrerer Tabellen zunächst durch einen Mausklick auf die Hintergrundfläche des Diagramms aufheben und anschließend die gewuskünschte und anchließend die gewuskünschte einen Dürbabel dürbabel und und an derbabelie. Ist eine übersichtliche Darstellung der Datenbank erreicht, sollten Sie überprüfen, wie diese Struktur bei der Ausgabe auf einem Drucker dargestellt wird, da Tabellen, die genau auf der Grenze kweier benachbarter die der Ausgabe auf einem Drucker dargestellt wird, da Tabellen, die genau auf der Grenze kweier benachbarter die der Ausgabe auf einem Drucker dargestellt wird, da Tabellen, die genau auf der Grenze kweier benachbarter die der Ausgabe auf einem Drucker dargestellt wird, da Tabellen, die genau auf der Grenze kweier benachbarter desesgegebenfünde negativus desesgegebenich. Auch hier bietet das Kontextmenü des Datenbankdiagramms eine Hilfestellung durch den Menüpunkt Seitenumbrüche anzeigen an. Bei Aktivierung dieser Option werden die Seitengrenzen der Druckausgabe em das Diagramm eingeblendet, foi die Platzierung der Tabellen im Hinblick auf einen späteren Ausdruck erleichtert, wie Abbildung 4.18 verdeutlicht. Die Möglichkeit, Tabellen aus dem Diagramm zu löschen beziehungsweise in das Diagramm aufzunehmen, haben wir oben bereits erwähnt. Eine vorhandene Tabelle übernehmen Sie nachträglich über den Kontextmenüeintrag Tabelle hinzufügen in das Diagramm. Das Löschen einer Tabelle aus dem Diagramm erfolgt durch den Aufruf des Kontextmenüs der Tabelle und die Auswahl von Aus Diagramm entfernen. Eine weitere Möglichkeit, Tabellen in das Diagramm aufzunehmen, stellt der Menüpunkt Verknüpfte Tabellen hinzufügen aus dem Kontextmenü der Tabelle dar. Então nehmen Sie alle Tabellen, die mit der markierten Tabelle em Beziehung stehen, mit in das Diagramm auf. Damit haben Sie eine sehr einfache Möglichkeit, Abhängigkeiten innerhalb der Datenbank zu erkennen.

Abbildung 4.17 Ausschnitt des neu erstellten Datenbankdiagramms

Gespeichert werden kann ein Datenbankdiagramm über den Standarddialog. Beim Schließen des Diagrammfensters wird außerdem die Speicherung des Diagramms über den Dialog angeboten, der in Abbildung 4.19 dargestellt ist.

Die Oberfläche von SQL Server 2014

Abbildung 4.18 Eingeblendete Seitenumbrüche im Datenbankdiagramm

4.1 Das SQL Server Management Studio

Abbildung 4.20 Ausgabe der ersten 200 Datensätze einer Tabelle zur Bearbeitung

In der in Abbildung 4.20 dargestellten Ausgabe können Sie Datensätze direkt verändern. Beachten Sie jedoch, dass die Änderungen erst dann übernommen werden, wenn Sie die geänderte Zeile verlassen. Die andere Möglichkeit besteht darin, aus dem Kontextmenü den Eintrag Oberste 1000 Zeilen auswählen aufzurufen. Abbildung 4.21 zeigt die Ausgabe dieses Menüpunkts ebenfalls am Beispiel der Employee-Tabelle.

Abbildung 4.19 Nachfrage, ob die Änderungen am Diagramm gespeichert werden sollen

Anzeigen von Tabelleninhalten und -strukturen Eine der häufigsten Aufgaben im Zusammenhang mit einer Datenbank besteht darin, sich den Inhalt von Tabellen anzeigen zu lassen, um deren Inhalt zu überprüfen, zu ändern oder um Ergebizu SQL. Im ObjektExplorer erweitern Sie dazu die Struktur der entsprechenden Datenbank und anschließend den Eintrag Tabellen. Danach wählen Sie aus dem Kontextmenü der entsprechenden Tabelle zum Beispiel den Eintrag Oberste 200 Zeilen bearbeiten aus. Daraufhin werden im rechten Fenster des Management Studios die Spaltennamen der Tabelle und die - wenn vorhanden - ersten 200 Datensätze der Tabelle ausgegeben. Abbildung 4.20 zeigt dies am Beispiel der Tabelle Employee. Abbildung 4.21 Rückgabe der obersten 1.000 Datensätze einer Tabelle

Die Oberfläche von SQL Server 2014

Wie Sie der Abbildung entnehmen können, erfolgt in diesem Fall eine zweigeteilte Ausgabe. Im oberen Bereich sehen Sie die entsprechende SQL-Abfrage, mit der die Datensätze ausgewählt werden. Im unteren Bereich erfolgt die Darstellung der abgefragten Datensätze. Bei Auswahl morre Menüpunktes können Sie an den ausgegebenen Datensätzen keine Änderungen vornehmen. Eine andere häufig benötigte Informações betrifft den Aufbau - também die Struktur - einer Tabelle. Diese Anzeige erfolgt ähnlich in diesem Fall wählen Sie im Kontextmenü der Tabelle lediglich den Eintrag Entwerfen aus. Abbildung 4.22 zeigt die Struktur der Tabelle Employee. Auf die in dieser Abbildung dargestellten Informationen gehen wir unter anderem em Kapitel 9, »Erstellen von Tabellen«, näher ein.

Das Bearbeiten von SQL-Anweisungen im Management Studio

Ein neues Fenster für SQL-Anweisungen öffnen Sie über die Schaltfläche Neue Abfrage ou über die rechts davon platzierte Schaltfläche Datenbankmodul-Abfrage. Bei Verwendung der zweiten Möglichkeit müssen Sie sich sofort erneut am Server authenticifizieren. Mit dem Öffnen eines Abfragefensters wird eine weitere grafische Menüzeile zur Abfragebearbeitung eingeblendet (ver Abbildung 4.23). Wie die Abbildung ebenfalls zeigt, wird im Management Studio ein Abfragefenster mit einem Reiter verssehen, foi die Arbeit mit mehreren geöffneten Abfragefenstern erheblich erleichtert.

Abbildung 4.23 Das Management Studio mit einem leeren Abfragefenster

SQL Server verwendet im SQL-Abfragefenster eine farbige Markierung des Programmcodes. Da wir auf die SQL-Programmierung erst in Kapitel 5, »Grundlegende Abfragetechniken«, eingehen, soll ein vorhandenes SQL-Server-Skript an dieser Stelle zur Verdeutlichung dienen. Sie carregado dieses Skript in ein Abfragefenster, indem Sie das Icon Datei öffnen auswählen und in dem folgenden Dialog die unten angegebene Datei auswählen: Abbildung 4.22 Anzeige der Struktur der Tabelle »Funcionário«

C: Programa Microsoft SQL Server MSSQL12.MSSQLSERVER MSSQL Install instmsdb.sql Das Skript wird in ein weiteres Abfragefenster geladen (ver Abbildung 4.24).

4.2 O que fazer para SQL-Anweisungen im Management Studio Hinweis Für die im ersten Teil dieses Buches behandelte Serverprogrammierung unter Verwendung von SQL-Syntax são natürlich die Möglichkeiten von Interesse, die do Management Studio dazu bietet. Diese Möglichkeiten schauen wir uns in den nächsten Abschnitten näher an.

4.2.1 Der SQL-Abfrage-Editor Zunächst soll die Voraussetzung geschaffen werden, eine Abfrage an SQL Server zu stellen. Zu diesem Zweck müssen Sie das entsprechende Editorfenster öffnen.

Dieses Skript soll lediglich der Anschauung dienen, bitte führen Sie es nicht aus!

Die farbigen Markierungen im Skript haben die folgende Bedeutung: 왘 Blau

Erkannte SQL-Schlüsselwörter werden blau markiert. Diese Kennzeichnung ist bei der Programmierung von SQL-Code hilfreich, da ein falsch geschriebenes Schlüsselwort relativ einfach dadurch identifiziert werden kann, dass es nicht blau dargestellt wird. Außerdem verrät diese Markierung in manchen Fällen mögliche

Die Oberfläche von SQL Server 2014

Abkürzungen von SQL-Schlüsselwörtern. So wird etwa während der Eingabe der SQL-Anweisung EXECUTE sowohl nach der Eingabe von EXEC als auch nach der vollständigen Eingabe des Schlüsselworts eine blaue Markierung verwendet, da EXEC als Abkürzung von EXECUTE genutzt genutzt.

Das Bearbeiten von SQL-Anweisungen im Management Studio

Die farbige Darstellung, die verwendete Schriftart und weitere Optionen können Sie unter dem Menüpunkt Extras • Optionen… unter dem Eintrag Schriftarten und Farben anpassen. Abbildung 4.25 zeigt den entsprechenden Dialog.

Abbildung 4.25 Dialog zur Anpassung der Darstellung im Management Studio Abbildung 4.24 Das geladene Skript im Management Studio 왘 Rot

Zeichenketten (inglês: cordas) - também Aneinanderreihungen von Zeichen, bestehend aus Buchstaben, Ziffern und Sonderzeichen - werden durch eine rote Hervorhebung gekennzeichnet. 왘 Grün

Systemobjekte von SQL Server werden grün markiert. 왘 Dunkelgrün

Comentários - também Teile eines SQL-Skripts, die nur zur Dokumentation vorhanden oder zu Testzwecken deaktiviert sind und bei der Ausführung des Programmcodes nicht berücksichtigt werden sollen - werden dunkelgrün dargestellt. 왘 Magenta

Systemfunktionen werden nun - im Gegensatz zu früheren Versionen von SQL Server - einheitlich em Magenta gekennzeichnet. 왘 Rotbraun

Die Verwendung gespeicherter Systemprozeduren wird durch eine rotbraune Färbung angezeigt. 왘 Dunkelgrau

Operatoren, die zum Beispiel mathematische oder logische Verknüpfungen herstellen, werden dunkelgrau gekennzeichnet.

Verändern Sie den Quelltext des Skripts, wird Ihnen morre im Management Studio angezeigt. Links neben dem geänderten Código do programa wird ein gelber Balken eingeblendet, der erst dann seine Farbe em Grün ändert, wenn alle aktuellen Änderungen abgespeichert wurden. Nach der Speicherung werden danach erfolgte Änderungen wiederum gelb markiert. Zum Abspeichern eines SQL-Skripts können Sie die Schaltfläche verwenden. Während diese farbigen Markierungen als Hinweis auf geänderte Programmzeilen dienen, wird ein geänderter und noch nicht abgespeicherter Quelltext dadurch gekennzeichnet, dass dem Titel des Reiters ein Sternchen (*) angehängt wird. Die Bearbeitung von Abfragen erfolgt im Management Studio im Wesentlichen über eine geringe Anzahl von Bedienelementen, die in der zusätzlichen Menüzeile eingeblendet werden. Die grundlegenden Bedienelemente für die Arbeit im Abfragefenster sind: 왘 Verfügbare Datenbanken

Sie können die Datenbank, um die eine Abfrage gestellt werden soll, aus dem Kombinationsfeld Verfügbare Datenbanken auswählen. Em Abbildung 4.23 ist in diesem Kombinationsfeld die master-Datenbank ausgewählt, die in der Regel die Standarddatenbank von Benutzern ist. Erfahrungsgemäß ist dieser Umstand eine häufige Fehlerquelle, da bei der Definition von Abfragen oftmals übersehen wird, die entsprechende Datenbank auszuwählen.Falls Sie bei der Arbeit mit Abfragen

Die Oberfläche von SQL Server 2014

unter SQL Server eine Fehlermeldung erhalten, die auf einen ungültigen Objektnamen hinweist, sollten Sie daher, neben der Überprüfung des Objektnamens, auch kontrollieren, ob an dieser Stelle die korrekte Datenbank eingetragen ist. 왘 Ausführen

Der Quelltext eines Abfragefensters wird durch die Befehlsschaltfläche Ausführen zur Bearbeitung an den Datenbankserver gesendet. Oftmals ist es jedoch notwendig, nur einen gewissen Teil des Programmcodes an den Server zu übermitteln. Zu diesem Zweck markieren Sie den entsprechenden Programmcode mit der Maus und klicken dann auf die Schaltfläche Ausführen. Abbildung 4.26 soll dies verdeutlichen. In diesem Beispiel wird lediglich die markierte PRINTAnweisung ausgeführt, nicht das gesamte Skript. Als Ergebnis erfolgt die in Abbildung 4.27 gezeigte Ausgabe.

Das Bearbeiten von SQL-Anweisungen im Management Studio

Die eben beschriebene Möglichkeit, nur einen Teil des vorhandenen Codes auszuführen, wird häufig bei der Fehlersuche während der Entwicklung von SQL-Code angewandt. SQL Server 2014 bietet jedoch ein weitaus mächtigeres Werkzeug, den Debugger. Um den Debugger zu benutzen, müssen Sie Mitglied der Rolle »sysadmin« sein. Das folgende Beispiel soll lediglich eine kurze Einführung in die Benutzung des Debuggers darstellen, der über weitaus mehr Möglichkeiten verfügt, als hier dargestellt werden können. Für dieses Beispiel werden zunächst ein paar Zeilen SQL-Code em ein neues Abfragefenster eingetragen, wie in Abbildung 4.28 dargestellt ist.

Abbildung 4.28 Beispielcode zur Verwendung des Debuggers

Abbildung 4.26 Ausführung eines Teils des Programmcodes

Über die Schaltfläche Debuggen wechseln Sie nun in den DebugModus, dessen Oberfläche Abbildung 4.29 zeigt. Zusätzlich wurde der vorletzten Programmzeile ein Haltepunkt hinzugefügt, den Sie in Abbildung 4.29 als Kreis links neben der Programmzeile sehen. Einen Haltepunkt erzeugen Sie, indem Sie den grauen Bereich links von der entsprechenden Zeile anklicken. Im Debug-Modus wird zunächst an der ersten Programmzeile gestoppt, in Abbildung 4:29 am Pfeilsymbol links von der Zeile zu erkennen. Die Schaltfläche Nächste Anweisung anzeigen bringt die aktuelle Markierung in den sichtbaren Bereich des Abfragefensters, foi bei umfangreichen Quelltexten hilfreich sein kann. Über das Icon Einzelschritt durchlaufen Sie den Programmcode zeilenweise (siehe Abbildung 4.30).

Abbildung 4.27 Ausgabe des markierten Programmcodes

Die Oberfläche von SQL Server 2014

Das Bearbeiten von SQL-Anweisungen im Management Studio

Abbildung 4.31 Erreichen eines Haltepunkts Abbildung 4.29 Abfrage im Debug-Modus

Consulte o SQL Server 2014 können Sie auch Bedingungen für Haltepunkte festlegen. 왘 Ausführung der Abfrage abbrechen

Über diese Schaltfläche brechen Sie die Bearbeitung einer Abfrage ab. Dies ist zum Beispiel dann notwendig, wenn eine Abfrage unerwartet lange zur Ausführung braucht oder wenn sich ein SQL-Programm in einer Endlosschleife befindet. 왘 Analysieren

Bevor eine Abfrage ausgeführt wird, können Sie eine Syntaxüberprüfung durchführen. Em diesem Zusammenhang sollten Sie jedoch wissen, dass lediglich eine reine Syntaxprüfung erfolgt ein Zugriff auf die entsprechende Datenbank findet nicht statt. Daher werden zum Beispiel falsch geschriebene Tabellennamen über diese Funktion nicht erkannt sie lösen erst bei der tatsächlichen Ausführung der Abfrage einen Fehler aus. 왘 Ergebnisse em Raster

Abfrageergebnisse werden no SQL Server standardmäßig in grafischer, dem Aussehen einer Tabelle entsprechender Form ausgegeben. Diese Ausgabeart wird als Raster bezeichnet. Abbildung 4.32 zeigt einen Teil eines Abfrageergebnisses auf die Tabelle Product in der Standarddarstellung von SQL Server.

Abbildung 4.30 Einzelschritt im Debug-Modus

Über die Schaltfläche Weiter wird mit der Ausführung des Quellcodes bis zum Ende oder - falls vorhanden - bis zum nächsten Haltepunkt fortgefahren. Em Abbildung 4.31 stoppt die Ausführung beim Erreichen des definierten Haltepunkts. Sie beenden den Debug-Modus über die Schaltfläche Debuggen beenden

Abbildung 4.32 Das Ergebnis einer Abfrage in der Rasterdarstellung

Die Oberfläche von SQL Server 2014

Wird diese Darstellungsart gewählt, erfolgt die Ausgabe von Abfrageergebnissen em forma de texto. Gegenüber der Darstellung im Raster, wo durch zu geringe Spaltenbreiten häufig ein Teil der dargestellten Informationen nicht direkt einzusehen ist, werden in der Textdarstellung in der Regel alle Informationen ungekürzt dargrendle dergestellt der Dargestellt, da sich die degkt einzusehen ist. Abbildung 4.33 zeigt das Ergebnis der in Abbildung 4.32 verwendeten Abfrage in der Textdarstellung.

Abbildung 4.33 Das Abfrageergebnis in Textdarstellung 왘 Ergebnisse in Datei

Diese Option stellt die dritte Möglichkeit der Ausgabe eines Abfrageergebnisses dar. Im Gegensatz zu den beiden bisher besprochenen Möglichkeiten erfolgt die Ausgabe nicht auf dem dem Bildschirm, sondern nach einem Klick auf die Schaltfläche Ausführen öffnet SQL Server den Windows-Speicherdialog, em dinamarquês abridor de data, em Berlim. Berichtsdateien sind vom Format her Textdateien, deren Inhalt sich daher relativ einfach in viele andere Anwendungen importieren lässt, wie in Abbildung 4,34 am Beispiel von Microsoft Excel dargestellt ist.

Das Bearbeiten von SQL-Anweisungen im Management Studio

왘 Kommentiert die ausgewählten Textzeilen aus

Kommentare dienen verschiedenen Zwecken. Grundsätzlich werden Programmteile, die als Kommentar gekennzeichnet sind, während der Ausführung des Programmcodes nicht berücksichtigt, also einfach übergangen. Als Kommentare gekennzeichnete Bemerkungen können daher zur Dokumentation eines SQLSkripts verwendet werden, ohne einen Syntaxfehler auszulösen. Kommentare sind auch dann nützlich, wenn - etwa zu Testzwecken - bestimmte Passagen des Programmcodes von der Abarbeitung ausgeschlossen werden sollen. Über diese Schaltfläche können Sie die Zeile, in der sich der Cursor befindet, oder aber mehrere markierte Programmzeilen als Kommentar kennzeichnen oder, wie auch gesagt wird, auskommentieren. Auf die verschiedenen Arten von Kommentaren, o SQL Server unterstützt, gehen wir em Kapitel 5, »Grundlegende Abfragetechniken«, näher ein. 왘 Hebt die Auskommentierung der ausgewählten Textzeilen auf

Hinzugefügte Kommentarmarkierungen werden über diese Schaltfläche wieder entfernt. 왘 Einzug vergrößern

Obwohl SQL von sich aus fast keine Anforderungen an die Formatierung von Programmcode stellt, sollten Sie doch - wie auch in anderen Programmiersprachen üblich - den Quelltext durch Einrückungen strukturieren, um die Lesbarkeit zu erhöhen. Ein solcher Einzug wird schrittweise über diese Schaltfläche erzeugt beziehungsweise vergrößert. Auch bei der Verwendung dieser Schaltfläche dourada, dass es ausreicht, den Cursor in dieser Zeile zu platzieren, wenn der Einzug nur für eine Zeile gelten soll. Soll der Einzug auf mehrere Zeilen angewandt werden, müssen Sie alle betreffenden Zeilen markieren. 왘 Einzug verkleinern

Diese Schaltfläche ermöglicht die schrittweise Verkleinerung vorhandener Einzüge.

Die Ausführung einer Abfrage im SQL-Editor bewirkt, dass ein weiteres Fenster in der Oberfläche des Management Studios dargestellt wird. Dabei handelt es sich um den sogenannten Ergebnisbereich, der em Abbildung 4.35 rechts unten dargestellt ist. Abbildung 4.32 und Abbildung 4.33 sind diesem Ergebnisbereich entnommen.

Beachten Sie, dass sich ein Wechsel zwischen den drei Ausgabemodi erst bei der nächsten Ausführung einer Abfrage auswirkt.

Die im Ergebnisbereich dargestellten Informationen sind - neben anderen Faktoren - abhängig davon, ob eine Abfrage erfolgreich ausgeführt wurde oder nicht.

Abbildung 4.34 Das no Microsoft Excel importierte Abfrageergebnis

Die Oberfläche von SQL Server 2014

Das Bearbeiten von SQL-Anweisungen im Management Studio

Abbildung 4.36 Der Reiter »Meldungen« einer erfolgreichen Abfrage

Nicht erfolgreiche Abfrageausführung Abbildung 4.35 Der Ergebnisbereich des Management Studios

Erfolgreiche Abfrageausführung Wurde eine Abfrage erfolgreich ausgeführt, werden im Ergebnisbereich standardmäßig zwei Reiter angezeigt: der Reiter Ergebnisse und der Reiter Meldungen, wie em Abbildung 4.35 zu sehen ist. In diesem Fall generiert SQL Server ein Ergebnisset, in der Programmierung auch als Recordset bezeichnet, das in der Clientanwendung, von der die Abfrage ausgelöst wurde, weiterverarbeitet werden kann. Da auch das Management Studio einen Datenbankclient darstellt, empfängt es dieses Ergebnisset und stellt es unter dem Reiter Ergebnisse dar. Wurde von einer fehlerfrei ausgeführten Abfrage kein Datensatz zurückgeliefert, resultiert dies nicht in einer Fehlermeldung - die Abfrage selbst ist ja kkkt ausgeführt worden -, das sondern in einem sogenannten Leerenichet, dieseinem sogenannten leerden Records.

Tritt während der Ausführung einer Abfrage ein Fehler auf, wie Abbildung 4,37 am Beispiel eines falsch geschriebenen Tabellennamens zeigt, wird im Ergebnisbereich lediglich der Reiter Meldungen angezeigt, der die entsgibendehlermegt. Ein Doppelklick mit der Maus auf die Fehlermeldung setzt den Cursor em die Umgebung des aufgetretenen Fehlers, foi die Eingrenzung des Fehlers erleichtert. Im Abfragefenster werden Sie auf ungültige Bezeichner auch durch den em Abbildung 4.37 dargestellten gezackten Unterstrich hingewiesen.

Unter dem Reiter Meldungen wird - etwas vereinfacht ausgedrückt - bei einer erfolgreichen Abfrage in der Form (x Zeile (n) betroffen) die Anzahl der ausgewählten Datensätze angezeigt, wobei das x für die Anzahl der betroffenze.

Abbildung 4.37 Fehlermeldung im Reiter »Meldungen«

Die Oberfläche von SQL Server 2014

Ob eine Abfrage erfolgreich oder fehlerhaft ausgeführt oder vom Anwender abgebrochen wurde, wird außerdem in der Fußzeile des Ergebnisbereichs durch die folgenden Icons und Meldungen angezeigt: 왘

: Die Abfrage wurde erfolgreich ausgeführt.

: Die Abfrage wurde mit Fehlern abgeschlossen.

: Die Abfrage wurde abgebrochen.

Da der Ergebnisbereich nicht über eine Schaltfläche zum Schließen verfügt, müssen Sie ihn - falls notwendig - über das Hauptmenü ausblenden. Den entsprechenden Menüpunkt finden Sie unter Fenster • Ergebnisbereich ausblenden wieder anzeigen lässt sich der Ergebnisbereich entsprechend unter dem Menüpunkt Fenster • Ergebnisbereich anzeigen. Weitere Informationen zur Ausführung einer Abfrage erhalten Sie über den Aufruf des Eigenschaften-Fensters. Dieses Fenster aktivieren Sie über den Menüpunkt Ansicht • Eigenschaftenfenster. Durch Auswahl dieses Menüpunkts wird, wie Abbildung 4,38 zeigt, ein weiteres Fenster im Management Studio eingeblendet, das in diesem Fall Informationen zu der aktuellen Verbindung ausgibt, seinen Inhalt aber dynamisch dem aktuellen Kxtuellen.

Das Bearbeiten von SQL-Anweisungen im Management Studio

4.2.3 Der Abfrage-Designer Jeder Benutzer do Microsoft Access kennt den grafischen Abfrage-Editor dieses Programms. Unter Access stellt dieser das bevorzugte Mittel zur Erstellung von Abfragen e o Jet-Engine - também o Access-Datenbank - dar. Hier wird typischerweise nur in Ausnahmefällen auf die ebenfalls mögliche Formulierung von Abfragen mit Hilfe von SQL-Syntax zurückgegriffen. Für Benutzer, die über keine oder geringe Kenntnisse em SQL verfügen, stellt eine grafische Oberfläche zur Abfrageerstellung zunächst eine gut geeignete Möglichkeit dar, einfache Abfragen an eine Datenbank zu formulieren. Grafische Abfrage-Editoren stoßen jedoch schnell an ihre Grenzen, da sich bereits etwas komplexere SQL-Anweisungen nicht mehr grafisch darstellen lassen. Aus diesem Grund hat der auch no SQL Server verfügbare Abfrage-Designer nie die Bedeutung seines Pendants in Microsoft Access erhalten. Da in diesem Buch die SQL-Programmierung vermittelt werden soll, beschreiben wir im Folgenden die Verwendung des Abfrage-Designers nur kurz und beispielhaft. Die Möglichkeiten, die der Abfrage-Designer zur Erstellung von Abfragen bietet, sind von einem Anwender mit Kenntnis der zugrunde liegenden SQL-Anweisungen - die im Laufe dieses Buches vermittelt werden - schnell zu erfassen. Der Aufruf des Abfrage-Designers erfolgt aus einem geöffneten Abfragefenster, in dem die abzufragende Datenbank ausgewählt ist, über den Menüpunkt Abfrage • Abfrage in Editor entwerfen. In dem daraufhin erscheinenden und in Abbildung 4.39 dargestellten Dialog wählen Sie die an der Abfrage beteiligten Tabellen, während im Hintergrund bereits die Oberfläche des Abfrage-Designers dargestellt wird.

Abbildung 4.38 Das Eigenschaften-Fenster im Management Studio

Da, wie Abbildung 4.38 zeigt, der verfügbare Platz des Desktops durch dieses Fenster sehr stark eingeschränkt wird, sollten Sie es bei Nichtbenutzung über seine Schaltfläche Schließen wieder schließen.

Abbildung 4.39 Die Auswahl abzufragender Tabellen

Nachdem Sie alle zur Abfrage benötigten Tabellen durch die Schaltfläche Hinzufügen ausgewählt und den Auswahldialog geschlossen haben, können Sie die Abfrage in der in Abbildung 4,40 dargestellten Oberfläche des Designers bearbeiten.

Die Oberfläche von SQL Server 2014

No diesem Beispiel sollen alle Spalten der ausgewählten Tabelle ausgegeben werden, foi zum Beispiel durch die Aktivierung des entsprechenden Kontrollkästchens in der Tabellendarstellung erfolgt (siehe Abbildung 4,41). Bei einem Vergleich von Abbildung 4.40 und Abbildung 4.41 werden Sie feststellen, dass der im unteren Teil dargestellte Abfragetext automatisch angepasst wurde.

SQL-Server-Dokumentation und Hilfen zur Programmierung

Abbildung 4.42). Von hier aus können Sie sie mit den bereits beschriebenen Methoden weiterbearbeiten und ausführen.

Abbildung 4.42 Die grafisch erstellte Anweisung im Abfragefenster

4.3 SQL-Server-Dokumentation und Hilfen zur Programmierung Welche Hilfen Ihnen no SQL Server 2014 para Verfügung stehen, werden Sie in diesem Abschnitt erfahren.

Abbildung 4.40 Die Oberfläche des Abfrage-Designers nach der Tabellenauswahl

4.3.1 Die SQL-Server-Dokumentation Die SQL-Server-Dokumentation stellt als Nachfolgerin der ehemaligen Onlinesokumentation die zentrale Hilfe in SQL Server 2014 dar. Encontre o Dokumentation no Programmordner do SQL Server 2014 unterhalb do Dokumentation und Community. Abbildung 4.43 zeigt die SQL-Server-Dokumentation nach dem Aufruf.

Abbildung 4.41 Die Auswahl der an der Abfrage beteiligten Spalten

Verlassen Sie den Designer freira über die Schaltfläche OK, wird die erstellte Abfrageanweisung in das Abfragefenster des Management Studios übernommen (siehe

Abbildung 4.43 Die neue SQL-Server-Dokumentation

Die Oberfläche von SQL Server 2014

Im selben Ordner wie die SQL-Server-Dokumentation finden Sie außerdem die Anwendung Hilfeeinstellungen verwalten hinter der sich der Hilfebibliotheks-Manager verbirgt (siehe Abbildung 4,44) sowie das Ressourcencenter (siehe Abbildung die 4,45-is denpiele undpiele) Seite verweist.

SQL-Server-Dokumentation und Hilfen zur Programmierung

4.3.2 SQL-Server-IntelliSense Zu den wohl häufigsten Fehlern während der Programmierung - unabhängig von der verwendeten Sprache - gehören falsch geschriebene Bezeichner. Mit dem no SQL Server 2008 eingeführten IntelliSense können Sie das Auftreten dieser Art von Fehlern deutlich minimieren. Obwohl diese nützliche Hilfestellung - auch als Autovervollständigung bezeichnet - Benutzern der Microsoft-Windows-Entwicklungsumgebungen schon lange vertraut ist, mussten die Anwender von SQL Server para zur der oben angegebenen Version von SQL Server aufarten. Die Anwendung von IntelliSense ist denkbar einfach, wie das folgende Beispiel zeigt. Verbunden mit der AdventureWorks2014-Datenbank wird eine Abfrage erstellt, über die die Production.Products-Tabelle abgefragt werden soll. Wie Sie in Abbildung 4,46 sehen, zeigt IntelliSense nach den ersten Buchstaben einen zutreffenden Vorschlag für den ersten Teil des Bezeichners an. Sollte der angebotene Eintrag nicht bereits richtig sein, setzen Sie entweder die Eingabe fort oder navigieren mit den Cursortasten zum entsprechenden Eintrag. Einen ausgewählten Eintrag von IntelliSense übernehmen Sie mit der (ÿ) - oder der (¢) Taste.

Abbildung 4.44 Die Anwendung »Hilfeeinstellungen verwalten«

Abbildung 4.46 Angebotener Eintrag von IntelliSense für den ersten Teil des Bezeichners

Nachdem Sie den gewünschten Eintrag Production ausgewählt haben, werden Ihnen nach Eingabe des Punktes als Trennzeichen die zugehörigen Tabellen zur Auswahl angeboten. Den in Abbildung 4.47 gezeigten Eintrag Product könnten Sie nun wie oben beschrieben übernehmen.

Abbildung 4.45 Das Ressourcencenter

Da IntelliSense in manchen Fällen nicht gewollte Ergänzungen vornimmt, können Sie durch Druck auf (Esc) die Autovervollständigung während der Eingabe einer Anweisung unterdrücken. Über das Icon IntelliSense aktiviert können Sie die Autovervollständigung dauerhaft aktivieren oder deaktivieren.

Die Oberfläche von SQL Server 2014

SQL-Server-Dokumentation und Hilfen zur Programmierung

Wollen Sie zum Beispiel einer Tabelle eine Spalte hinzufügen, erweitern Sie den Eintrag Table der Struktur und wählen die entsprechende Aktion - in diesem Fall den in Abbildung 4,49 dargestellten Eintrag Adicionar coluna - durch einen Doppelklick.

Abbildung 4,49 Im Kontext einer Tabelle verfügbare Vorlagen Abbildung 4,47 Anzeige der auswählbaren Tabellen

4.3.3 Der Vorlagen-Explorer Eine weitere Hilfe zur Programmierung stellt im Management Studio der VorlagenExplorer dar, über den Sie das Grundgerüst einer Anweisung erzeugen, das Sie dann lediglich vervollständigen müssen. Vorlagen (auf Englisch auch als Templates bezeichnet) können Sie auch selbst erstellen und unter SQL Server verwenden. Den Vorlagen-Explorer rufen Sie über Ansicht • Vorlagen-Explorer auf, wodurch ein zusätzliches Fenster eingeblendet wird. Darin wird eine Zusammenstellung von Oberbegriffen angeboten, wie Sie em Abbildung 4,48 sehen.

Durch die Auswahl der Vorlage wird ein neues Abfragefenster geöffnet, in dem das Codefragment angezeigt wird, das in Abbildung 4.50 als typisches Beispiel für die Struktur einer Vorlage dargestellt ist.

Abbildung 4.50 Generierte Vorlage

Beim Betrachten von Abbildung 4.50 fällt die Verwendung spitzer Klammern () auf, die zur Kennzeichnung von Platzhaltern dienen und in der Abbildung em Verbindung mit den Einträgen schema_name und table_name verwendet werden.

Abbildung 4.48 Das Management Studio mit eingeblendetem Vorlagen-Explorer

Um die Parameter durch eigene Werte zu ersetzen, müssen Sie lediglich den entsprechenden Dialog über die Schaltfläche Werte für Vorlagenparameter angeben aufrufen. In dem verwendeten Beispiel öffnet sich das em Abbildung 4.51 gezeigte Fenster, in dem Sie die angebotenen Parameterwerte ersetzen können.

Die Oberfläche von SQL Server 2014

SQL-Server-Dokumentation und Hilfen zur Programmierung

So komfortabel die Verwendung von Vorlagen - vielleicht in besonderer Weise für einen in der SQL-Syntax nicht erfahrenen Benutzer - erscheinen mag, so risikoreich ist es, den angebotenen Beispielcode gedankenlos zu übernehmen.

Abbildung 4.51 Parâmetro In der Vorlage verwendete

So werden durch das em Abbildung 4.52 dargestellte Ändern des Eintrags »tabela de amostra« em »TestTabelle« und die Änderung des Datenbanknamens em »AdventureWorks2014« alle Vorkommen dieser Platzhalter in der Vorlage an die neuen Werte angepasst, wieild zepasst 4.53.

Wie Sie zum Beispiel Abbildung 4.53 entnehmen können, enthält die Vorlage eine DROP TABLE-Anweisung, die in SQL dazu dient, eine Tabelle zu löschen. Übernehmen Sie die im Beispiel verwendete Vorlage zum Hinzufügen einer Spalte unverändert, wird eine bestehende Tabelle zunächst gelöscht, um danach mit den Angaben der Vorlage neu erstellt zu werden. Abschließend wird der neu erstellten Tabelle eine weitere Spalte hinzugefügt, was wohl kaum der ursprünglichen Absicht - dem Hinzufügen einer Spalte zu einer bestehenden Tabelle - entsprechen dürfte. Veja o SQL Server 2014 können Sie neben den vordefinierten Vorlagen auch sogenannte Codeausschnitte (engl .: snippets) verwenden. Die Verwaltung dieser Codeausschnitte rufen Sie über den Menüpunkt Extras • Codeausschnitt-Manager. auf.

4.3.4 Die Skript-Generierung

Abbildung 4.52 Geänderte Vorlagenparameter

SQL Server bietet viele Möglichkeiten zur automatischen Erstellung von Skripten. Als Beispiel betrachten wir eine Möglichkeit, die es erlaubt, Informationen darüber zu erhalten, welche Anweisungen aus einem grafischen Dialog an SQL Server gesendet würden, wenn der Dialog bestätigt würde. In vielen Fällen erhalten Sie mit dieser Vorgehensweise nützliche Informationen über verwendete gespeicherte Prozeduren oder zu anderen Detalhes einer Abfrage. In diesem Beispiel soll der Dialog zum Löschen aus dem Kontextmenü der AdventureWorks2014-Datenbank aufgerufen werden, wie in Abbildung 4.54 dargestellt.

Abbildung 4.53 Übernahme der Parameter in das SQL-Skript

Abbildung 4.54 Dialog zum Löschen der AdventureWorks2014-Datenbank

Die Oberfläche von SQL Server 2014

SQL-Server-Dokumentation und Hilfen zur Programmierung

Bitte bestätigen Sie diesen Dialog nicht, sondern klicken Sie auf die Schaltfläche Skript. Dadurch werden Ihnen die Anweisungen in einem Abfragefenster dargestellt, die bei einem Klick auf die OK-Schaltfläche um SQL Server gesendet würden. Abbildung 4.55 zeigt die generierte Anweisung zum Löschen der AdventureWorks2014-Datenbank.

Abbildung 4.56 Das Management Studio mit eingeblendetem Lesezeichenfenster Abbildung 4.55 SQL-Anweisung des Löschen-Dialogs

Da die Anzeige des Quellcodes an vielen Stellen innerhalb von SQL Server angeboten wird, stellt sie eine gute Möglichkeit dar, sich mit den verwendeten SQL-Anweisungen vertraut zu machen.

4.3.5 Die Verwendung von Lesezeichen Eine Neuerung no SQL Server 2005 bestand in der Einführung von Lesezeichen (auf Englisch als Bookmarks bezeichnet), die eine zusätzliche Unterstützung bei der Programmierung von SQL Server darstellen. Die seitdem verwendete Technik, Abfragefenster durch Reiter anzuwählen, erleichtert die Arbeit mit unterschiedlichen Quelltexten erheblich. Bearbeiten Sie ein oder mehrere umfangreiche Quelltexte, ist es häufig notwendig, bestimmte Stellen des bearbeiteten Codes zu markieren. Zu diesem Zweck können Sie Lesezeichen nutzen. Dazu blenden Sie zunächst das Lesezeichenfenster (siehe Abbildung 4.56) über den Menüpunkt Ansicht • Lesezeichenfenster ein. Über das Lesezeichenfenster erfolgen die Verwaltung und der Zugriff auf die Lesezeichen. Sie erstellen Lesezeichen, indem Sie den Cursor im Quelltext in der Zeile positionieren, für die ein Lesezeichen angelegt werden soll, und dann die Schaltfläche Lesezeichen für die aktuelle Zeile umschalten anklicken. Die entsprechende Zeile wird daraufhin mit einem Links de símbolos neben dem Quelltext markiert, wie es Abbildung 4.57 zeigt.

Abbildung 4.57 Darstellung eines Lesezeichens im Quelltext und im Lesezeichenfenster

Auf dieselbe Art und Weise oder über die Schaltfläche Löschen entfernen Sie ein Lesezeichen wieder. Alternativ deaktivieren oder aktivieren Sie ein Lesezeichen über das vorangestellte Kontrollkästchen. Für alle angelegten Lesezeichen kann morre auch über die Schaltfläche Alle Lesezeichen deaktivieren erfolgen. Sie können Lesezeichen selbstverständlich auch umbenennen, um ihnen aussagekräftigere Namen zu geben.

Die Oberfläche von SQL Server 2014

Um zu einem Lesezeichen zu gelangen, führen Sie entweder einen Doppelklick auf den entsprechenden Eintrag im Lesezeichenfenster aus, oder - cai eine Liste aus mehreren Lesezeichen vorliegt - Sie durchlaufen morrer Lesezeichen mit Hilfe der Schaltflächen Einfügemarke zum vorherigen Lesezeichen verschieben und Einfügemarke zum nächsten Lesezeichen verschieben zyklisch . Wurden Lesezeichen nach verschiedenen Kriterien erstellt, können Sie sie zu Gruppen zusammengefasst em Ordnern verwalten. Einen solchen Ordner erstellen Sie über die Schaltfläche Neuer Ordner und können ihn anschließend seinem Inhalt entsprechend umbenennen. Vorhandene Lesezeichen können Sie danach mit Drag & Drop em den entsprechenden Ordner verschieben. Abbildung 4.58 zeigt ein Beispiel dazu.

Überblick über die SQL-Server-Dienste

4.4 Überblick über die SQL-Server-Dienste SQL Server benötigt - je nach verwendeten Komponenten - verschiedene Dienste, um benötigte Funktionalität zur Verfügung zu stellen. Einige dieser Dienste werden nach der Installation von SQL Server bei jedem Start des Betriebssystems automatisch gestartet, foi bei einem in der Praxis betriebenen Datenbankserver durchaus sinnvoll ist. Bei einem SQL Server, der sich nicht in einer Produktivumgebung befindet, kann es sinnvoll sein, die Startart der Dienste zu ändern, um Ressourcen zu sparen, wenn SQL Server nicht verwendet wird. Aber auch auf einem Datenbankserver in einer Produktivumgebung ist es unter Umständen notwendig, Dienste zu aktivieren oder zu deaktivieren. Die zu SQL Server gehörigen Dienste lassen sich selbstverständlich wie all anderen Dienste in der Windows-Systemsteuerung konfigurieren, obwohl Microsoft diese Vorgehensweise nicht empfiehlt. Einige der Dienste können ebenfalls no Management Studio beeinflusst werden. Die in Abbildung 4.59 dargestellten Dienste SQL Server und SQL Server-Agent zum Beispiel lassen sich über ihr Kontextmenü direkt aus der Oberfläche heraus steuern. Die beste Möglichkeit zur Verwaltung der SQL-Server-Dienste bietet der SQL-Server-Konfigurations-Manager. Sie finden ihn im SQL-Server-Programmordner em dem Unterordner Konfigurationstools em dem Eintrag SQL Server 2014-Konfigurations-Manager. Nach dem Start des Konfigurations-Managers öffnet sich das em Abbildung 4.59 dargestellte Fenster, em dem die vorhandenen SQL-Server-Dienste angezeigt werden. Die vier abgebildeten Dienste haben no SQL Server die folgenden Bedeutungen: 왘 SQL Full-text Filter Daemon Launcher

Durch diesen Dienst wird die Erstellung von Volltextindizes ermöglicht. Diese werden dazu verwendet, umfangreiche Texte, die in einer Datenbank hinterlegt sind, nach Schlüsselwörtern zu durchsuchen. 왘 SQL Server Abbildung 4.58 Aufteilung von Lesezeichen auf verschiedene Ordner

Mit den Schaltflächen Einfügemarke zum vorherigen Lesezeichen im aktuellen Ordner verschieben und Einfügemarke zum nächsten Lesezeichen im aktuellen Ordner verschieben navigieren Sie innerhalb der Ordner zu den einzelnen Lesezeichen. No SQL Server 2014, werden Lesezeichen gespeichert und are beim nächsten Öffnen einer SQL-Skriptdatei wieder verfügbar.

Dieser Dienst stellt den zentralen Datenbankdienst dar. Ohne ihn wäre der Rechner nicht fähig, Datenbankabfragen entgegenzunehmen und zu bearbeiten, também als Datenbankserver zu fungieren. Dieser Dienst wird nach der Installation von SQL Server standardmäßig bei jedem Start des Rechners ausgeführt. 왘 SQL Server-Browser

Der SQL-Server-Browser-Dienst dient dazu, einem Client zu ermöglichen, Eigenschaften der Verbindung abzufragen. Então stellt der SQL-Server-Browser zum Beispiel bei benannten Instanzen dem Client Informationen darüber zur Verfügung, unter welchem ​​Port eine spezifische Instanz angesprochen werden kann. 왘 SQL Server-Agent

Der SQL-Server-Agent-Dienst dient dazu, wiederkehrende Aufgaben innerhalb des

Die Oberfläche von SQL Server 2014

Servidores zu verwalten. Typischerweise wird dieser Dienst dazu verwendet, Datenbanksicherungen oder Wartungsaufgaben zu verwalten und sie auszulösen.

Das Dienstprogramm »sqlcmd«

inhalts, wie wir weiter oben in diesem Kapitel am Beispiel des SQL Server Management Studios als grafische Oberfläche bereits gezeigt haben.

Abbildung 4.59 Auflistung der Dienste im Konfigurations-Manager

Die Bezeichnungen dieser vier Dienste entsprechen weitgehend den in der WindowsSystemsteuerung verwendeten Bezeichnungen, was ein Auffinden der Dienste vereinfacht. Über das Kontextmenü eines jeden Dienstes können Sie diesen starten, beenden, anhalten, fortsetzen und neu starten. Durch den Aufruf der Eigenschaften eines Dienstes können Sie ihn im Konfigurations-Manager konfigurieren.

Abbildung 4.60 Die verfügbaren Parâmetro von »sqlcmd«

4.5 Das Dienstprogramm »sqlcmd«

Um eine Abfrage unter sqlcmd auszuführen, ist zunächst eine erfolgreiche Anmeldung an den Datenbankserver notwendig. Ohne Angabe von Parametern geht sqlcmd von einer vertrauten Verbindung am lokalen Server aus. Genau das soll em diesem Beispiel erfolgen, weshalb wir sqlcmd ohne Angabe von Parametern aufrufen können, wie em Abbildung 4.61 dargestellt.

Es ist keine grafische Oberfläche wie do Management Studio erforderlich, um eine Verbindung zu SQL Server herzustellen. SQL Server können Sie auch über Dienstprogramme von der Kommandozeile aus ansprechen. Die dazu verwendeten Program hießen in früheren Versionen von SQL Server isql beziehungsweise osql seit SQL Server 2005 lautet die Bezeichnung der Befehlszeilenanwendung sqlcmd. Um sich mit den Möglichkeiten dieses Programas vertraut zu machen, können Sie es über die Eingabeaufforderung unter Angabe des Parameters -? zur Anzeige der Hilfe aufrufen. Dieser in Abbildung 4.60 dargestellte Aufruf liefert eine Liste der Parameter zurück, die zusammen mit sqlcmd verwendet werden können. Wie Sie sehen, wird bei der Angabe von Parametern zwischen Groß- und Kleinschreibung unterschieden.

Abbildung 4.61 Erfolgreiche Verbindungsaufnahme zum Datenbankserver

Im Folgenden bauen wir als Beispiel mit sqlcmd eine Verbindung zu SQL Server auf, wählen eine Datenbank aus und setzen eine Abfrage auf eine Tabelle innerhalb der Datenbank ab. Die in diesem Beispiel verwendeten Abfragebefehle werden wir erst im weiteren Verlauf behandeln und erläutern. Als Vorgriff darauf sei erwähnt, dass die verwendeten Anweisungen die Datenbank AdventureWorks2014 auswählen und den Inhalt der Tabelle Produto abfragen. Dies entspricht der Anzeige eines Tabellen-

Das Erscheinungsbild von sqlcmd ändert sich nun dahingehend, dass wie in der Abbildung eine Zeilennummer am Beginn jeder Zeile eingeblendet wird. Um die Beispieldatenbank AdventureWorks2014 auszuwählen, wird die folgende Anweisung verwendet, wie Abbildung 4.62 zeigt:

Abbildung 4.62 Auswahl der Beispieldatenbank AdventureWorks2014

Die Oberfläche von SQL Server 2014

Um den Inhalt der Product-Tabelle auszugeben, müssen Sie nun noch die folgende Anweisung an SQL Server stellen: SELECT * FROM Production.Product

In der Oberfläche von sqlcmd ergibt sich daher die in Abbildung 4.63 dargestellte Anweisungsfolge.

Integração com SQL Server no Windows PowerShell

Sicherlich entspricht die Ausgabe der Abfrage nicht den heutigen Standards, foi moderne Programmierumgebungen angeht. Dieses Beispiel sollte Ihnen lediglich zeigen, dass es auch mit minimalen Mitteln und ohne grafische Oberfläche möglich ist, auf SQL Server zuzugreifen. Sie beenden sqlcmd durch die Eingabe von exit oder quit.

4.6 Integração do SQL-Server no Windows PowerShell Abbildung 4.63 Die Oberfläche von »sqlcmd« mit der Anweisung zur Abfrage der »Produto« -Tabelle

Die Ausführung der Anweisungen wird über die Eingabe von GO gestartet, wie in Abbildung 4.64 zu sehen ist. Durch die Eingabe der GO-Anweisung und einen Druck auf die (¢) -Taste werden die betreffenden Codezeilen e SQL Server übermittelt, foi innerhalb von sqlcmd auch dadurch angezeigt wird, dass nach dem durch GO erfolgten Númmer Senden der Anweisungen an den Zeilen wieder bei der Zeilennummer 1 beginnt.

O Windows PowerShell stellt eine Umgebung zur Skripterstellung dar, in der Ihnen eine objektorientierte, auf dem .NET Framework basierende Skriptsprache zur Verfügung steht. Mit der PowerShell-Skriptsprache verfügen Sie über weitaus komplexere Möglichkeiten als bei der Verwendung anderer Skriptsprachen. O Windows PowerShell ist Bestandteil aller aktuellen Windows-Versionen, sie wird von Microsoft aber auch zum freien Baixe agora. Dadurch erhalten Administratoren zum Beispiel die Möglichkeit, Wartungsskripte für eine Vielzahl von Rechnern mit Hilfe einer einzigen Skriptsprache zu erstellen. Die Verwendung der PowerShell-Skriptsprache ist auf diversen Microsoft-Seiten dokumentiert, für erfahrene Visual-StudioBenutzer mag die PowerShell-Schnellreferenz für einen unkomplizierten Einstieg in die Skriptsprache ausreichend sein (sie).

Abbildung 4.64 Das Starten des Abfragestapels durch das »GO« -Kommando

Als Ergebnis wird der Inhalt der Product-Tabelle zurückgegeben (Abbildung 4.65).

Abbildung 4.66 PowerShell-Schnellreferenz (Auszug) Abbildung 4.65 Das Abfrageergebnis in unformatierter Darstellung

Die Oberfläche von SQL Server 2014

Diese kurz gefasste Referenz können Sie sich aus dem Microsoft Download Center von der Seite Referência rápida do Windows PowerShell (http://www.microsoft.com/en-us/ download / details.aspx? Id = 7097) aqui.

Integração com SQL Server no Windows PowerShell

4.6.2 Aufruf der PowerShell com SQL-Server-Integration para verwendung der Windows PowerShell com SQL Server stehen Ihnen verschiedene Möglichkeiten zur Verfügung. Zwei besonders komfortable Möglichkeiten besprechen wir im Folgenden.

4.6.1 Allgemeiner Aufruf der PowerShell Um die Windows PowerShell aufzurufen, wechseln Sie zunächst in den PowerShellProgrammordner. Die Position dieses Programmordners ist von der installierten PowerShell-Version abhängig. Para o Windows PowerShell 1.0 encontra-se no site do Ordner no Programm-Hauptverzeichnis, para a versão 2.0 e 3.0 no Ordner Zubehör. Unabhängig von der installierten Version finden Sie in dem jeweiligen Verzeichnis den Eintrag zum Start der in Abbildung 4.67 gezeigten PowerShellOberfläche.

Das Dienstprogramm »sqlps« Um mit der Windows PowerShell no SQL Server zuzugreifen, können Sie das Dienstprogramm sqlps verwenden. Este é o exemplo de um eine speziell für die Verwendung mit SQL Server angepasste PowerShell-Oberfläche. An der Eingabeaufforderung können Sie das Programm aus jedem beliebigen Verzeichnis heraus aufrufen, da ein Pfad auf den Speicherort gesetzt ist. Abbildung 4.69 zeigt die Oberfläche von sqlps.

Abbildung 4.67 Die PowerShell-Oberfläche

Este PowerShell mindestens in der Version 2.0 vorhanden, finden Sie in dem Programmordner einen weiteren, mit Windows PowerShell ISE bezeichneten Eintrag vor. O PowerShell ISE (Integrated Scripting Environment) stellt eine grafische Oberfläche zur Verfügung, die über mehr Funktionen als die nicht-grafische Oberfläche verfügt und damit ein komfortableres Arbeiten mit der PowerShell-Skriptsprache ermöglicht. Die Oberfläche der PowerShell ISE sehen Sie em Abbildung 4.68.

Abbildung 4.69 Iniciar von »sqlps« an der Eingabeaufforderung

Aufruf der PowerShell do Management Studio Bei geöffnetem Management Studio steht Ihnen eine weitere Möglichkeit zur Verfügung, die PowerShell mit geladenen SQL-Server-Erweiterungen aufzurufen. Wählen Sie dazu für einen geeigneten Knotenpunkt im Objekt-Explorer aus dem Kontextmenü den Eintrag PowerShell starten aus. Abbildung 4.70 zeigt die auf diese Weise für den Knoten Datenbanken geöffnete PowerShell-Oberfläche.

Abbildung 4.70 Aufruf der PowerShell für den Datenbankknoten

Abbildung 4.68 Die grafische Oberfläche der PowerShell ISE

Welche der drei beschriebenen Möglichkeiten zum Aufruf der PowerShell mit SQLServer-Unterstützung für Ihre Zwecke am besten geeignet ist, hängt von verschiedenen Faktoren ab. Então, comece a erste Variante - também o Windows PowerShell mit registrierten SQL-Server-Erweiterungen - typischerweise viel mehr Detailinformationen als die anderen beiden Möglichkeiten zurück, was die Ausgabe für das menschliche Auge häufig unübersichtlich macht. Die PowerShell ISE hingegen bietet em Combinação mit der grafischen Oberfläche weitaus mehr Komfort bei der Erstellung von Skripten, zum Beispiel durch die Möglichkeit, Haltepunkte zum Debuggen zu

Die Oberfläche von SQL Server 2014

verwenden. Während der Arbeit mit dem Management Studio ist die Möglichkeit des Aufrufs der PowerShell aus der Programmumgebung heraus besonders praktisch. Auch die folgenden Abbildungen wurden auf diese Weise erstellt - wenn Sie einen anderen Aufruf verwenden, kann die Darstellung daher von den gedruckten Abbildungen abweichen.

Integração com SQL Server no Windows PowerShell

Die Verzeichnisstruktur des gesamten SQLSERVER-Laufwerks ist recht umfangreich, für den Zugriff auf die Datenbankebene von SQL Server ergibt sich jedoch ein relativ einfacher Pfad, wie er bereits no Abbildung PowerShell com o Beispiel de gerenciamento de Beispiel de Abbildung PowerShell de 4.70 am Beispiel de gerenciamento. Die Pfadangabe hat dabei die folgende Formulário: SQLSERVER: SQL rechnername instanzname Databases

4.6.3 Zugriff auf SQL Server com o Windows PowerShell Die Windows PowerShell stellt verschiedene Bereiche eines Windows-Rechners em einer an das Dateisystem angelehnten Form zur Verfügung.Wegen dieser Analogie werden diese Bereiche auch als Laufwerke bezeichnet. Einen Überblick über die zur Verfügung stehenden Laufwerke erhalten Sie über die Anweisung Get-PSDrive. Abbildung 4.71 zeigt eine mögliche Ausgabe dieses Befehls.

Abbildung 4.72 Anwendbare Befehle für ein SQLSERVER-Laufwerk

Der Rechnername lautet in dem in Abbildung 4.70 gezeigten Beispiel SQLCLIENT, die Angabe von DEFAULT als Instanzname verweist auf die SQL-Server-Standardinstanz. Da der aktuelle Pfad auf den Datenbankknoten verweist, können Sie sich nun - zum Beispiel durch Eingabe von dir - den Ordnerinhalt und damit eine Auflistung der vorhandenen benutzerdefinierten Datenbanken anzeigen lassen (siehe Abbildung 4.73). In diesem Fall ist die einzig bislang vorhandene benutzerdefinierte Datenbank die AdventureWorks2014-Datenbank.

Abbildung 4.71 Mögliche Ausgabe von »Get-PSDrive«

Wie Sie Abbildung 4.71 entnehmen können, werden neben den vorhandenen physischen Laufwerken unter anderem auch Teile der Registry (HKCU, HKLM), Zertifikate bzw. Zertifikatspeicher (cert) und eben auch SQL Server (SQLSERVER) como Laufwerke dargestellt. Falls Sie auf das Laufwerk SQLSERVER nicht zugreifen können, überprüfen Sie, ob der SQL-Server-Dienst gestartet wurde und ob Sie die PowerShell mit installierten SQL-Server-Erweiterungen gestartet haben. Mit Hilfe der in Abbildung 4.72 dargestellten Anweisungen sowie der ebenfalls dargestellten Abkürzungen (Aliasse) können Sie durch die Struktur des SQLSERVER-Laufwerks navigieren und weitere Aktionen wie zum Beispiel das Umbenje von Ob. Wie Sie bei einem Vergleich mit Abbildung 4.72 feststellen werden, stimmen viele der dargestellten Aliasse mit den Anweisungen überein, die Sie von der Arbeit am Dateisystem gewohnt sind. So können Sie zum Beispiel mit der cd-Anweisung das aktuelle Verzeichnis wechseln und so die Struktur des SQLSERVER-Laufwerks durchlaufen.

Abbildung 4.73 Auflistung der benutzerdefinierten Datenbanken

Wie wir oben bereits erwähnt haben, können Sie mit Hilfe der Laufwerksbefehle die Laufwerksinhalte ändern. Então zeigt das folgende Beispiel die Möglichkeiten, mit Hilfe der ren-Anweisung die Datenbank AdventureWorks2014 em AW umzubenennen.

Hinweis Bitte führen Sie dieses Beispiel nicht aus, oder benennen Sie die Datenbank danach wieder mit ihrem ursprünglichen Namen.

Die Oberfläche von SQL Server 2014

Integração com SQL Server no Windows PowerShell

Den Wechsel von Verzeichnissen können Sie ebenso, wie Sie es vom Dateisystem seu gewohnt sind, mit dem cd-Befehl vornehmen. Mit der folgenden Anweisung wechseln Sie so von der Datenbankebene in den Ordner Tables der AdventureWorks2014Datenbank.

Ein erneuter Aufruf von dir liefert nun aber nicht, wie man vermuten könnte, den Tabelleninhalt - também die Datensätze - zurück, sondern eine Auflistung der mit der Tabelle verbundenen Objekttypen, wie Abbildung 4,75 zeigt.

Beispiel: cd AdventureWorks2014 Tables

Auch hier bewirkt der Befehl dir die Ausgabe des Verzeichnisinhalts, in diesem Falle also der Tabellen innerhalb der AdventureWorks2014-Datenbank, wie der in Abbildung 4.74 dargestellte Ausschnitt zeigt.

Abbildung 4.75 Der Inhalt des Ordners der Tabelle »Production.Product«

Da kein entsprechender Laufwerksbefehl zum Anzeigen eines Tabelleninhalts existiert, müssen Sie zu diesem Zweck ein sogenanntes SQL-Server-Cmdlet verwenden.

4.6.4 Os cmdlets do SQL-Server para o SQL-Anweisungen - wie die Abfrage eines Tabelleninhalts - no PowerShell verwenden Sie das Cmdlet Invoke-Sqlcmd, do wir an dieser Stelle beispielhaft para o SQL-Server-spezifetrachten cmdlet. Im einfachsten Fall rufen Sie das Cmdlet unter Angabe der auszuführenden SQL-Anweisung auf, die Sie in Anführungszeichen setzen.

Sintaxe: Invoke-Sqlcmd "sql-anweisung"

Mit dem folgenden Beispiel fragen Sie den Inhalt der Tabelle Production.Product ab. Abbildung 4.74 Ausschnitt der in der Datenbank vorhandenen Tabellen

Mit dem folgenden Beispiel können Sie sogar noch eine Ebene tiefer, nämlich in den Ordner der Tabelle Production.Product, wechseln.

Beispiel: Invoke-Sqlcmd "SELECT * FROM Production.Product"

Einen von dieser Abfrage zurückgegebenen Datensatz sehen Sie em Abbildung 4.76.

Die Oberfläche von SQL Server 2014

Prozentsatz der Prozessorzeit, die von SQL Server beansprucht wurde 왘 Wartende Tasks

Anzahl der Tasks, die auf Ressourcen warten 왘 Datenbank-E / A

Menge der übertragenen Daten (MB / Sek.) Zwischen Arbeitsspeicher und Laufwerken (in beiden Richtungen) sowie zwischen Laufwerken selbst. E / A steht dabei für »Eingabe / Ausgabe«. 왘 Batchanforderungen / Sekunde

Anzahl der pro Sekunde eingegangenen Lotes (Abfragestapel) Unterhalb der grafischen Anzeigen können Sie sich durch Aufklappen der entsprechenden Felder Informationen zu den folgenden Bereichen anzeigen lassen: 왘 Prozesse

Abbildung 4.76 Ein im Abfrageergebnis enthaltener Datensatz

4.7 Der SQL-Server-Aktivitätsmonitor Der Aktivitätsmonitor stellt Ihnen einen umfangreichen Überblick über die aktuellen Aktivitäten no SQL Server zur Verfügung. Sie starten den Aktivitätsmonitor über die Schaltfläche Aktivitätsmonitor oder durch Auswahl des Eintrags Aktivitätsmonitor aus dem Kontextmenü des Serversymbols im Objekt-Explorer. Die Oberfläche des Aktivitätsmonitors nach dem Öffnen zeigt Abbildung 4.77.

Hier finden Sie eine Auflistung der externen Verbindungen, die momentan zu SQL Server hergestellt sind. Jeder Verbindung zu SQL Server wird eine Sitzungs-ID (inglês: System Process ID, abgekürzt SPI) zugewiesen. Externen Verbindungen - também Verbindungen, die nicht von SQL Server selbst hergestellt wurden - wird eine SPI größer 50 zugewiesen. Durch Aufruf des Kontextmenüs einer Verbindung und Auswahl von Detalhes können Sie sich den letzten von dieser Verbindung empfangenen SQL-Befehlsbatch anzeigen lassen (siehe Abbildung 4.78).

Abbildung 4.78 Detalhes einer Verbindung zu SQL Server

Über die weiteren Einträge des Kontextmenüs können Sie eine Verbindung zu SQL Server trennen und eine Profiler-Ablaufverfolgung (ver Kapitel 23, »Indizes«) für diese Verbindung starten. 왘 Ressourcenwartevorgänge Abbildung 4.77 Der SQL-Server-Aktivitätsmonitor

Ganz oben in der Oberfläche des Aktivitätsmonitors sehen Sie unter der Überschrift Übersicht vier grafische Anzeigen, in denen der zeitliche Verlauf der folgenden Indikatoren angezeigt wird:

Em diesem Bereich werden Ihnen Informationen über die Wartezeit und -häufigkeit angezeigt, die bei verschiedenen leistungsrelevanten Komponenten aufgetreten sind. Zu diesen Komponenten gehören sowohl SQL-Server-interne - wie zum Beispiel Sperren (siehe Kapitel 25, »Transaktionen«) - também um hardwarebezogene, wie der Netzwerkdurchsatz. Die in diesem Bereich dargestellten Informationen können Ihnen bei Problemen mit der Leistung von SQL Server einen ersten Anhaltspunkt über Eventuelle Schwachpunkte der vorhandenen Installation liefern.

Die Oberfläche von SQL Server 2014

Die hier dargestellten Informationen beziehen sich auf die Schreib- und Lesezugriffe auf die Datenbankdateien der auf dem Server vorhandenen Datenbanken. Dazu zählen die Schreib- und Leserate (em MB / Sek.) Sowie die Antwortzeit der jeweiligen Datei. 왘 Aktuelle Ressourcenintensive Abfragen

Die hier dargestellten Informationen können Sie verwenden, um die Abfragen zu identifizieren, die die meisten Ressourcen verbrauchen. Zu den dargestellten Informationen zählen unter anderem die CPU-Auslastung sowie Schreib- und Lesevorgänge.

4.8 Berichte Neben dem Aktivitätsmonitor steht Ihnen im Management Studio eine weitere Möglichkeit zur Verfügung, einen schnellen Überblick über aktuelle Vorgänge und Eigenschaften einer Datenbank zu erhalten. Dabei handelt es sich um die Standardberichte, die Sie aus dem Kontextmenü einer Datenbank aufrufen können, indem Sie Berichte und danach Standardberichte auswählen. Abbildung 4.79 zeigt als Beispiel den Bericht zur Datenträgerverwendung der AdventureWorks2014-Datenbank.

Abbildung 4.79 Bericht über die Datenträgerverwendung der Beispieldatenbank

Sie können sich Berichte auf ähnliche Weise auch für Informationen auf Serverebene ausgeben lassen. Rufen Sie dazu im Objekt-Explorer das Kontextmenü des Servereintrags aus, und wählen Sie dann zuerst Berichte und anschließend Standardberichte aus.

Kapitel 6 Grundlagen der SQL-Programmierung In diesem Kapiteln behandelen wir die Grundlagen der SQL-Programmierung, die als Voraussetzung für die in späteren Kapiteln behandelten Themen notwendig sind.

Die Abfragesprache SQL stellt nicht nur, wie der Name vermuten lässt, Befehle zur Abfrage von Datenbanken zur Verfügung, sondern ermöglicht auch die Erstellung von SQL-Programmen. Der Sprachumfang mag - im Vergleich zu anderen modernen Programmiersprachen - sein relativ gering, er ist aber ausreichend, um alle in der Datenbankprogrammierung auftretenden Aufgaben zu lösen.

6.1 Das Stapeltrennzeichen GO Das sogenannte Stapeltrennzeichen GO ist eine Anweisung, morra em SQL-Skripten häufig Verwendung findet. Em Abbildung 6.1 ist es am Beispiel eines SQL-Skripts dargestellt.

Abbildung 6.1 Verwendung des Stapeltrennzeichens GO

Das Stapeltrennzeichen, das auch Batch-Trennzeichen (inglês: lote Stapel, Bündel) genannt wird, stellt keine SQL-Anweisung dar. Tatsächlich steht die Anweisung GO em keinem direkten Zusammenhang mit dem Datenbankserver, sondern ist ein

Grundlagen der SQL-Programmierung

Editor-Befehl, d. h. eine Steueranweisung, die eine Folge von SQL-Anweisungen in mehrere Abschnitte unterteilt, die dann einzeln zum Server gesendet werden. Ein solcher Abschnitt wird als Stapel oder Batch bezeichnet. Die folgenden beiden Abfragen werden também als ein Stapel an den Server gesendet:

Beispiel: SELECT * FROM Production.Product SELECT * FROM Purchasing.Vendor

Durch Einfügen einer GO-Anweisung werden diese Anweisungen in zwei Stapel aufgeteilt und dem Server getrennt übermittelt:

Beispiel: SELECT * FROM Production.Product GO SELECT * FROM Purchasing.Vendor

Zum Vergleich: Der gleiche Effekt hätte ohne die Verwendung von GO erzielt werden können, indem man die Abfragen durch Markierung mit der Maus getrennt ausgeführt hätte. Auch in diesem Fall wären zwei Stapel e den Server gesendet worden. Sie werden, cai Sie die beiden Beispiele ausprobiert haben, keinerlei Unterschiede in der Ausgabe festgestellt haben. Beide Ergebnisse sind vollkommen identisch, was die Frage aufkommen lässt, zu welchem ​​Zweck GO verwendet werden kann, wenn keine unmittelbare Auswirkung dieser Anweisung festzustellen ist. Es gibt jedoch Fälle, em denen GO zwingend Verwendung finden muss. Ein typisches Beispiel stellt ein automatisch ablaufendes Skript dar. Ein resolve Skript kann Befehle enthalten, die nur dann ausgeführt werden können, wenn sie die erste Anweisung eines Stapels sind. Um die Aufteilung eines solchen Skripts in mehrere Dateien, die dann einzeln ausgeführt werden müssten, zu vermeiden, wird innerhalb des Skripts vor den entsprechenden Befehlen ein neuer Stapel durch die Angabe von GO erzwungen. Da es sich bei dem Stapeltrennzeichen nicht um eine SQL-Anweisung handelt, können Sie auch einen anderen Ausdruck anstelle von GO als Stapeltrennzeichen definieren. Das entsprechende Dialogfeld ist in Abbildung 6.2 abgebildet. Encontra-se abaixo de Extras • Optionen. unter dem Eintrag Abfrageausführung.

Abbildung 6.2 Möglichkeit der Trennzeichendefinition

6.2 (Lokale) Variablen Wie andere Programmiersprachen auch bietet SQL die Möglichkeit, Variablen zu verwenden. Eine Variable stellt einen Zwischenspeicher dar, in dem ein veränderlicher Wert abgespeichert und später wieder ausgelesen werden kann.

6.2.1 Variablendeklaration Bei der Verwendung von Variablen no SQL Server gibt es eine Besonderheit zu beachten, foi o Variablennamen betrifft: Diese müssen mit dem @ -Zeichen beginnen! Variável Außerdem muss eine, bevor sie verwendet werden kann, über die DECLARE-Anweisung deklariert werden:

Sintaxe: DECLARE variablenname datentyp

Beispiel: DECLARE @zahl inteiro

Die Deklaration einer Variablen - também die Zuweisung eines Datentyps - ist notwendig, da der Datenbankserver für die Verwendung einer Variablen Speicherplatz und

Grundlagen der SQL-Programmierung

andere Ressourcen reservieren muss, weil die verschiedene Datentypen einen unterschiedlichen Speicherbedarf und Verwaltungsaufwand erfordern. Die Auswahl des Datentyps hängt dabei von der zu speichernden Informações ab. Mehrere Variablen in einer einzigen DECLARE-Anweisung erstellen Sie, indem Sie die Deklarationen in einer Liste, durch Kommas getrennt, angeben:

Hinweis Wird einer Variablen nach der Deklaration kein Wert mittels SET zugewiesen, enthält diese Variável keinen Wert, também NULL!

Die Nichtbeachtung dieser Tatsache resultiert schnell em Programmierfehlern, wie das folgende Beispiel zeigt:

DECLARE @zahl inteiro SET @zahl = @zahl + 42 SELECT @zahl

DECLARAR @zahl inteiro, @text varchar (20)

Die Wertezuweisung an eine Variable erfolgt über die SET-Anweisung.

Als Ausgabe erfolgt NULL, da zu einer nichtinitialisierten Variablen - também einem NULLWert - eine Zahl addiert wird. Da NULL aber nicht der Zahl 0 entspricht, sondern einen nicht vorhandenen Wert repräsentiert, ist das Ergebnis ebenfalls NULL.

6.2.3 Kombinierte Deklaration und Wertezuweisung

6.2.2 Wertezuweisung an eine Variable

Beispiel: DECLARE @zahl inteiro, @text varchar (20) SET @zahl = 42 SET @text = 'zweiundvierzig'

Obwohl es möglich ist, mehrere Variablen innerhalb einer DECLARE-Anweisung zu erstellen, erlaubt die SET-Anweisung nicht die Wertezuweisung an mehrere Variablen. Das heißt, Sie müssen für jede Zuweisung eines Werts an eine Variable eine gesonderte SET-Anweisung verwenden. Ebenso wenig ist es zulässig - wie in anderen Programmiersprachen teilweise möglich -, eine Variable im Zuge der Deklaration mit einem Wert vorzubelegen. Die erste Wertezuweisung an eine neu erstellte Variável - auch als Initialisierung bezeichnet - muss em SQL in einer gesonderten SETAnweisung erfolgen. Sie sollten es sich zur Regel machen, eine neu erstellte Variável immer zu initialisieren, es sei denn, Sie sind sich sicher, dass die Variável im späteren Programmablauf einen definierten Wert zugewiesen bekommt. Falls Sie mit nichtinitialisierten Variablen arbeiten, sollten Sie sich immer der folgenden Tatsache bewusst sein:

Mit SQL Server 2008 wurde die Möglichkeit eingeführt, Variablen in einer einzelnen Anweisung zu deklarieren und zu initialisieren. Dies geschieht in der folgenden Form:

Sintaxe: DECLARE variablenname datentyp = wert

Das folgende Beispiel zeigt die Deklaration und Initialisierung einer einzelnen Variablen:

Beispiel: DECLARE @zahl integer = 42

Es lassen sich ebenfalls mehrere Variablen innerhalb einer Anweisung deklarieren und initialisieren, indem Sie die einzelnen Variablen durch Kommas trennen:

Sintaxe: DECLARE variablenname datentyp = wert, variablenname datentyp = wert

Das folgende Beispiel zeigt die kombinierte Deklaration und Initialisierung zweier Variablen.

Grundlagen der SQL-Programmierung

6.2.5 Gültigkeitsbereich von Variablen

DECLARAR @zahl integer = 42, @text varchar (20) = 'zweiundvierzig'

Eine Variable stellt kein dauerhaftes Datenbankobjekt dar - wie zum Beispiel eine Tabelle -, im Gegenteil: Variablen werden zu einem bestimmten Zweck erstellt, verwendet und danach automatisch gelöscht. Es ist also nicht notwendig (und auch nicht möglich), eine Variable manuell zu löschen. Es stellt sich também die Frage, was der Gültigkeitsbereich einer Variablen - der manchmal auch etwas lax als »Lebensdauer« einer Variablen bezeichnet wird - ist, bis zu welchem ​​Punkt sie also nach ihrer Deklaration zu verwenden ist. Diese Frage ist eindeutig zu beantworten:

Um Lesern, die eine ältere Version von SQL Server verwenden, ein Umschreiben der Beispiele zu ersparen, verwenden wir im weiteren Verlauf des Buches die klassische Syntax.

6.2.4 Inkrement und Dekrement Mit SQL Server 2008 wurden zwei neue Operatoren eingeführt, um einen Wert zu erhöhen (Inkrement) beziehungsweise zu verringern (Dekrement). Gerade Variablen müssen häufig (z. B. beim Durchlaufen einer Schleife) im Wert erhöht oder verringert werden. Bisher war die Bildung des Inkrements und Dekrements no SQL Server nur in den nachfolgend am Beispiel einer Variablen gezeigten Formen möglich, die nicht mehr dem Stand moderner Programmiersprachen entsprachen:

Unter Verwendung der neuen Operatoren + = und - = kann diese Zuweisung eleganter erfolgen. Für das Inkrement gilt die folgende Sintaxe:

Für die Bildung des Dekrements entsprechend die nachstehende Syntax.

Das oben angegebene Beispiel hat unter Verwendung dieser Operatoren das folgende Aussehen:

Beispiel: DECLARE @int inteiro SET @ int = 42 SET @ int + = 1 SET @ int- = 1

Hinweis Der Gültigkeitsbereich einer Variablen ist der Stapel, in dem sie deklariert wurde!

Um diesen Umstand zu demonstrieren, sollen zunächst in einem Stapel eine Variablendeklaration, eine Wertzuweisung an die Variable und anschließend die Ausgabe des Variablenwerts erfolgen:

Beispiel: DECLARE @zahl integer SET @zahl = 42 SELECT @zahl

Als Ergebnis wird - wie erwartet - die Zahl »42« ausgegeben. Nun wird dem Code eine zweite SELECT-Anweisung zur Ausgabe des Variablenwerts hinzugefügt, die durch das Stapeltrennzeichen GO abgetrennt wird:

Beispiel: DECLARE @zahl integer SET @zahl = 42 SELECT @zahl GO SELECT @zahl

Als Ergebnis der ersten Abfrage wird zwar weiterhin der Wert »42« ausgegeben, im Reiter Meldungen erfolgt jedoch die folgende Ausgabe: (1 Zeile (n) betroffen) Meldung 137, Ebene 15, Status 2, Zeile 1 Die "@zahl" -Skalarvariable muss deklariert werden.

Die Variable @zahl ist also mit Beendigung des Stapels durch GO gelöscht worden und somit im zweiten Stapel nicht mehr bekannt!

Grundlagen der SQL-Programmierung

6.2.6 Verwendung von Variablen Variablen können Sie fast überall dort einsetzen, wo eine feste, ihrem Datentyp entsprechende Angabe ebenfalls zulässig wäre. Innerhalb einer SELECT-Anweisung können Sie eine Variável zum Beispiel als Argument innerhalb der WHERE-Klausel verwenden:

Beispiel: Declare @Number nvarchar (25) SET @Number = 'AR-5381' SELECT * FROM Production.Product WHERE ProductNumber = @Number

6.2.7 Lokale und globale Variablen no SQL Server In der Überschrift dieses Abschnitts haben wir die bisher besprochene Variablenart als lokale Variável bezeichnet, daneben existiert aber auch die Bezeichnung globale Variable. Diese Bezeichnungen sind etwas irreführend, gerade da in anderen Programmiersprachen die Begriffe »lokal« und »global« eine andere Bedeutung besitzen als em SQL, que sich diese Begriffe auf die Verbindung zum Server beziehen.Wenn zum Beispiel eine Variável em einer Verbindung zum Server deklariert wird, ist diese Variable für alle anderen Verbindungen unsichtbar. Aus ihnen heraus kann diese Variável weder angesprochen noch ausgelesen werden, sie existiert nur für die Verbindung, in der sie definiert wurde. Es handelt sich daher um eine lokale Variável. Als globale Variablen werden em SQL keine Variablen im oben beschriebenen, herkömmlichen Sinne bezeichnet, sondern Funktionen. Auch diese können verschiedene Werte annehmen und zurückgeben. Die Namen vieler Funktionen beginnen daher - em Anlehnung an die Benennung einer lokalen Variablen - mit zwei @ -Zeichen, wie Sie Abschnitt 6.5 sehen werden. Funktionen können von jeder Verbindung aus aufgerufen und abgefragt werden. Daher werden sie auch als global Variablen bezeichnet, obwohl ihnen kein Wert zugewiesen werden kann, es sich também nicht um Variablen im herkömmlichen Sinn handelt.

tet, dass eine Wertzuweisung mit einer SELECT-Anweisung kombiniert werden muss, wozu em SQL zwei verschiedene Möglichkeiten existieren.

Wertezuweisung mit SET und Abfrage Die erste Möglichkeit, den aus einer Abfrage ermittelten Wert einer Variablen zuzuweisen, orientiert sich an der bekannten Sintaxe der Zuweisung von diskreten Werten an eine Variable Fall, nur geben Sie in diesizem stat

Sintaxe: SET variablenname = (abfrage)

Bei Verwendung dieser Methode der Wertzuweisung ist zu beachten, dass die Abfrage so definiert sein muss, dass sie als Ergebnis nur einen einzigen Wert zurückliefert. Im folgenden Beispiel wird dieser Umstand nicht beachtet:

Beispiel: DECLARE @Number nvarchar (25) SET @Number = (SELECT ProductNumber FROM Production.Product) SELECT @Number

Dieses Beispiel erzeugt die folgende, auszugsweise wiedergegebene Fehlermeldung: Meldung 512, Ebene 16, Status 1, Zeile 2 Die Unterabfrage hat mehr als einen Wert zurückgegeben.

Lauffähig wird dieser Código erst dann, wenn zum Beispiel durch Verwendung der WHERE-Klausel nur ein einziger Datensatz ausgewählt wird. Zweckmäßigerweise geschieht dies durch einen Vergleich auf den Primärschlüssel der Tabelle, die Spalte ProductID:

6.2.8 Wertezuweisung an Variablen durch Abfragen Die Wertezuweisung an eine Variável kann em SQL auf verschiedene Weisen erfolgen. Eine Möglichkeit besteht darin, der Variablen einen bestimmten, vorgegebenen Wert zuzuweisen, wie wir weiter oben bereits beschrieben haben. Es kann in der Datenbankprogrammierung aber durchaus notwendig sein, den Wert einer Variablen im Programm nicht vorzugeben, sondern ihn aus Datensätzen zu ermitteln, foi bedeu-

DECLARE @Number nvarchar (25) SET @Number = (SELECT ProductNumber FROM Production.Product WHERE ProductID = 870) SELECT @Number

Als Ergebnis erhält die Variable den Wert WB-H098.

Grundlagen der SQL-Programmierung

Abfrage mit kombinierter Wertzuweisung Die zweite Möglichkeit, einer Variablen ein Abfrageergebnis zuzuweisen, besteht darin, die Zuweisung direkt innerhalb einer SELECT-Anweisung vorzunehmen. Diese zweite Möglichkeit unterscheidet sich in einem Punkt signifikant von der im letzten Abschnitt besprochenen Möglichkeit. Dieser Unterschied betrifft das Abfrageergebnis der verwendeten SELECT-Anweisung. Um diesen Unterschied zu verdeutlichen, soll die fehlerauslösende Abfrage ohne WHERE-Klausel aus dem letzten Abschnitt noch einmal gesondert ausgeführt werden:

FROM Production.Product SELECT @Number

Die in diesem Beispiel verwendete Abfrage liefert - wie Sie oben gesehen haben - mehr als einen Wert, nämlich alle Produktnummern, zurück. Die Variable kann jedoch nur einen einzigen Wert abspeichern. Es stellt sich também die Frage, welchen Wert die Variable nach Abarbeitung des Codes enthält. Wie in Abbildung 6,3 gezeigt, ist der letzte zurückgegebene Wert der zugrundeliegenden SELECT-Anweisung der Eintrag WB-H098, und genau dieser Wert wird beim Auslesen des Variableninhalts im vorliegenden Beispiel zurckgegenden, 6.4.

SELECT ProductNumber FROM Production.Product Abbildung 6.4 Wert der Variablen nach Beendigung des Beispiels

Abbildung 6.3 zeigt die letzten Zeilen des Abfrageergebnisses. Beachten Sie bitte den grau unterlegten letzten Wert des Abfrageergebnisses, WB-H098.

Abbildung 6.3 Abfrageergebnis auf die Produktnummern

Um einer Variablen einen Wert innerhalb einer Abfrage innerhalb der SELECT-Anweisung zuzuweisen, geben Sie den Variablennamen gefolgt von dem Gleichheitszeichen direkt nach SELECT an:

Sintaxe: SELECT variablenname = spaltenname FROM schemaname.tabellenname

Interessante em diesem Zusammenhang ist, dass die gleiche Abfrage, die bei der Verwendung mit SET einen Fehler auslöste, innerhalb dieser Anweisung zulässig ist:

Beispiel: DECLARE @Number nvarchar (25) SELECT @Number = ProductNumber

Die Wertzuweisung an eine Variable innerhalb einer SELECT-Anweisung setzt também im Gegensatz zu der im letzten Abschnitt besprochenen SET-Anweisung nicht voraus, dass die verwendete Abfrage nur einen Wert als Ergebnis verter mefertere, sondte khrdener Abfrage im bébeer. Sie können sich dieses Verhalten so vorstellen, dass jeder innerhalb der Abfrage zurückgegebene Wert den vorherigen Wert der Variablen überschreibt, so dass am Ende der Ausführung die Variable den zuletzt von der entfrage zurckgeliefer. Die Wertezuweisung mittels einer Abfrage, die mehrere Ergebnisse zurückliefert, ist sicherlich ein Sonderfall. In der Regel wird auch bei dieser Methode die SELECT-Anweisung so definiert, dass das Abfrageergebnis nur aus einem Wert besteht, analog zu der im letzten Abschnitt besprochenen Verwendung der SET-Anweisung. In manchen Fällen können Sie diese Möglichkeit allerdings auch sehr geschickt einsetzen, wie das folgende Beispiel verdeutlicht. Hier wird die Aggregatfunktion MAX über eine entsprechende Abfrage nachgebildet:

Beispiel: DECLARE @Price money SELECT @Price = ListPrice FROM Production.Product ORDER BY ListPrice SELECT @Price

Der Inhalt der Variablen ist in diesem Fall identisch mit dem Wert der entsprechenden Aggregatfunktion.

Grundlagen der SQL-Programmierung

6.3 Ablaufsteuerung Innerhalb von Programmen ist es häufig notwendig, die Abarbeitung von Programmcode zu steuern, um auf bestimmte Umstände zu reagieren oder um einen Codeabschnitt mehrfach nacheinander auszuführen. Die entsprechenden Anweisungen einer Programmiersprache, die es ermöglichen, den Ablauf eines Programms zu beeinflussen, werden unter dem Begriff Ablaufsteuerung zusammengefasst. Auch in SQL stehen Sprachelemente zur Ablaufsteuerung zur Verfügung, allerdings ist ihre Anzahl im Vergleich zu anderen Programmiersprachen sehr gering. Es existieren nur wenige, grundlegende Befehle. Diese geringe Auswahl an zur Verfügung stehenden Sprachmitteln erfordert in manchen Fällen eine - verglichen mit anderen Programmiersprachen - etwas umständlichere Programmierung.

6.3.1 Blöcke Bei der Verwendung von Befehlen zur Ablaufsteuerung ist es oft notwendig, mehrere SQL-Anweisungen zu einer Einheit, einem sogenannten Block, zusammenzufassen. Ein Block wird em SQL com BEGIN eingeleitet und mit END abgeschlossen:

Sintaxe: BEGIN anweisungen END

Formal können Sie mehrere Anweisungen an beliebiger Stelle innerhalb eines SQLSkripts mit BEGIN und END zu einem Block zusammenfassen. In der Regel wird dadurch kein Fehler ausgelöst, der Block hat aber auch keine Auswirkung auf die Abarbeitung des Quelltextes, er wird einfach ignoriert. Es gibt jedoch auch Fälle, em denen Blöcke em Verbindung mit Befehlen zur Ablaufsteuerung zwingend verwendet werden müssen, wie wir im Folgenden zeigen werden.

ELSE BEGIN anweisungen END

Ergibt die Auswertung des nach IF angegebenen Ausdrucks den logischen Wert true, so wird der unmittelbar darauf folgende Codeabschnitt - auch IF-Zweig genannt - ausgeführt, der zweite Teil der Anweisung, também alles ignori demert Schlüsselwort ELSE. Ergibt die Auswertung des Ausdrucks den Wert false, ist das Verhalten genau umgekehrt, der IF-Zweig wird übersprungen und der nach ELSE folgende Código - entsprechend auch ELSE-Zweig genannt - wird ausgeführt. In beiden Fällen wird dann mit der Abarbeitung von eventuell nach dem Ende der IF. ELSE-Anweisung stehendem Code fortgefahren. Im folgenden Beispiel wird die IF. ELSE-Anweisung verwendet, um den Inhalt einer Variablen auf einen bestimmten Wert zu testen und mit einer entsprechenden Ausgabe zu reagieren:

Beispiel: DECLARE @Zahl smallint SET @Zahl = 42 IF @Zahl = 42 BEGIN PRINT '@Zahl gleich 42' END ELSE BEGIN PRINT '@Zahl ungleich 42' END PRINT 'Ausführung beendet'

Dieses Beispiel erzeugt die folgende Ausgabe:

6.3.2 IF… ELSE Die IF. ELSE-Anweisung stellt die Möglichkeit bereit, verschiedene Codeabschnitte em Abhängigkeit vom Wahrheitswert eines Ausdrucks auszuführen.

Sintaxe: IF ausdruck BEGIN anweisungen END

@Zahl gleich 42 Ausführung beendet

Da der Vergleich als Ergebnis true ergeben hat, wurde lediglich der IF-Zweig durchlaufen und dann die nach dem Ende von IF. ELSE stehende PRINT-Anweisung ausgeführt. Im folgenden Beispiel wird durch die Initialisierung der Variablen mit einem anderen Wert die Ausführung des ELSE-Zweigs erzwungen:

Grundlagen der SQL-Programmierung

Beispiel: DECLARE @Zahl smallint SET @Zahl = 43 IF @Zahl = 42 BEGIN PRINT '@Zahl gleich 42' END ELSE BEGIN PRINT '@Zahl ungleich 42' END PRINT 'Ausführung beendet'

In diesem Fall kommt es zu folgender Ausgabe: @Zahl ungleich 42 Ausführung beendet

Die Verwendung von IF. ELSE muss nicht immer mit der oben angegebenen Sintaxe in ihrer vollständigen Form erfolgen. So ist insbesondere die Verwendung des ELSE-Zweigs optional. Wird er nicht benötigt, kann der zweite Teil der Anweisung - beginnend mit ELSE - einfach entfallen. Eine weitere Abwandlung der Syntax ist dann möglich, wenn der IFoder ELSE-Zweig nur eine Anweisung umfasst. In diesem Fall können Sie auf die Angabe eines Blocks in dem jeweiligen Zweig verzichten. Das folgende Beispiel entspricht von der Funktionalität ela também dem ersten Beispiel dieses Abschnitts, da in diesem Fall sowohl im IF als auch im ELSE-Zweig nur eine Anweisung zu bearbeiten ist:

Beispiel: DECLARAR @Zahl smallint SET @Zahl = 42 SE @Zahl = 42 IMPRIMIR '@Zahl gleich 42' IMPRIMIR MAIS '@Zahl ungleich 42' IMPRIMIR 'Ausführung beendet'

Manche Programmiersprachen stellen die Möglichkeit zur Verfügung, weitere Vergleiche innerhalb der IF-Anweisung vorzunehmen, wenn die vorhergehenden Vergleiche nicht zutreffend waren. Solche zusätzlichen Vergleiche werden häufig mit else if oder ähnlichen Schlüsselwörtern eingeleitet. Em SQL ist dies nicht möglich,

allerdings können ELSE. IF-Anweisungen geschachtelt werden, wodurch eine entsprechende Funktionalität nachgebildet wird, wie das folgende Beispiel zeigt:

Beispiel: DECLARE @Zahl smallint SET @Zahl = 42 IF @Zahl = 0 THEN 'leicht' WHEN Weight> = 100 THEN 'mittel' WHEN Weight> = 1000 THEN 'schwer' ELSE '-' END AS Gewicht FROM Production.Product

Das Ergebnis dieser Abfrage ist, dass für alle Bücher, bei denen in der Spalte Peso ein Wert eingetragen ist, als Ausgabe leicht erfolgt. Liegt in dieser Spalte bei einem Datensatz ein NULL-Wert vor, wird als Ergebnis der Bindestrich ausgegeben. Abbildung 6.9 veranschaulicht die Veränderung gegenüber den em Abbildung 6.8 dargestellten Datensätzen.

Abbildung 6.9 Ergebnis einer falsch definierten CASE-Funktion

Dieses Beispiel zeigt deutlich, dass die CASE-Funktion denjenigen WHEN-Zweig verwendet, der als erster ein wahres Ergebnis liefert. Alle anderen Zweige, die ebenfalls wahre Ergebnisse liefern könnten, werden nicht mehr ausgewertet. Dieses Verhalten sollten Sie berücksichtigen, wenn Sie die CASE-Funktion auf umfangreiche Datenbestände anwenden: Werden die Vergleiche, die erwartungsgemäß am häufigsten als Ergebnis true ergeben vergeben, früh in der CASE-Funkenden, früh in der CASE-Funkender. Nachfolgend noch einmal eine Zusammenfassung des Verhaltens der beiden Arten der CASE-Funktion:

Hinweis Für beide Arten der CASE-Funktion dourada, dass die Verwendung des ELSE-Zweigs opcional ist WHERE-Zweige dürfen in beliebiger Anzahl angegeben werden. Der Rückgabewert der Funktion richtet sich zunächst nach dem ersten WHEN-Zweig, dessen Ausdruck als Ergebnis true liefert. Ist morre bei keinem WHEN-Zweig der Fall, wird der Rückgabewert des ELSE-Zweigs verwendet. Ist dieser nicht vorhanden, liefert die CASE-Funktion einen NULL-Wert zurück.

SELECIONE ProductNumber, Weight,

Grundlagen der SQL-Programmierung

Weitere Möglichkeiten zur Anwendung der CASE-Funktion Wie oben bereits erwähnt, wird die CASE-Funktion hauptsächlich in Verbindung mit Abfragen verwendet. Eine sehr typische Anwendung dieser Funktion besteht innerhalb von Datenbanken zum Beispiel darin, das in einer Bit-Spalte codierte Geschlecht einer Person in die Anrede »Frau« beziehungsweise »Herr« umzusetzen, um diese Angwendabe em einwendfeld. Die CASE-Funktion kann jedoch nicht nur innerhalb einer Abfrage verwendet werden. Bei dem zu verarbeitenden Wert muss es sich também nicht zwangsläufig um einen Spaltenwert handeln, andere Ausdrücke em anderen Zusammenhängen können ebenso über die CASE-Funktion ausgewertet werden. So können Sie zum Beispiel auch eine Wertzuweisung an eine Variable in Verbindung mit SET und der CASE-Funktion realisieren, wie das folgende Beispiel zeigt:

Beispiel: DECLARAR @Eingabe smallint SET @Eingabe = 42 DECLARAR @Ausgabe CHAR (15) SET @Ausgabe = CASE @Eingabe WHEN 42 THEN 'zweiundvierzig' ELSE 'unbekannt' FIM IMPRIMIR @Ausgabe

In diesem Beispiel wird der Variable @Ausgabe über die CASE-Funktion ein Wert zugewiesen, der von dem Wert der Variablen @Eingabe abhängig ist.

der Spalte wird in der Abfrage zur Kontrolle mit ausgegeben. Durch die IIF-Funktion wird ein Spaltenwert kleiner gleich 500 als niedrig, ein Wert größer als 500 als hoch klassifiziert.

Beispiel: SELECIONE SafetyStockLevel, IIF (SafetyStockLevel (Vergleichsoperator). 175 .NET 2.0. 797 .NET Assembly Loader. 801 .NET-Assembly. 795 .NET-CLR 1.0. 796 1.1. 796 2.0. 796 .NET-Runtime. 796. NET-Speichermanagement. 796 .NET-Threadpool. 797 .NET-Typen. 843 [] (Klammeroperator). 198 @@ CONEXÕES. 257 @@ CURSOR_ROWS. 656 @@ ERROR. 268, 282, 289, 899 @@ FETCH_STATUS. 656 @@ IDENTITY-Funktion. 600 @@ LANGUAGE. 257 @@ MAX_CONNECTIONS. 257 @@ OPTIONS. 257 @@ ROWCOUNT. 268, 637 @@ SERVERNAME. 257 @@ VERSION. 257 * (Multiplicação). 174 * (Platzhalter). 179 / (Divisão). 174% (Módulo-Divisão). 174% (Platzhalter). 197 + (Adição). 174 + (Zeichenverkettung). 174 = (Vergleichsoperator). 175

A Abfrage e Datenbankmodul. 123

Abfrage (Forts.) Analysieren. 129 assincrona. 1018 Servidor auf verschiedene. 313 ausführen. 126 Ausführung abbrechen. 129 debuggen. 127 Duplikate eliminieren. 183 einfache. 177 Ergebnis einschränken. 187 Ergebnis sortieren. 184 Ergebnisse zusammenfassen. 210 neue. 123 parametrisierte. 1015 rekursive. 895 Unterabfrage. 204 Abfrageausführung. 132 abgebrochene. 134 erfolgreiche. 132, 134 nicht erfolgreiche. 133, 134 Abfrageausführung (Optionen). 228 Abfrage-Designer. 135 Abfrage-Editor. 122 Abfrageergebnis. 131, 210 Abfrageerstellung, grafische. 135 Abfragefenster. 123 IntelliSense. 139 Abfrageleistung verbessern. 675 Abfrageoptimierer. 534 Abhängigkeit, innere. 96 Ablaufsteuerung. 238 BREAK. 244 CONTINUAR. 245 GOTO. 246 SE ... OUTRO. 238 SE EXISTE. 241 RETORNO. 246 WAITFOR. 247 ENQUANTO. 243 Ablaufverfolgung. 702 ABS. 267 ABSOLUTE n. 648 AcceptChanges. 1070, 1076, 1089 AcceptRejectRule. 1076 Access. 135, 314 Accumulate-Methode. 860 ACID. 731 ADD. 371

Adição . 174 Add-Methode DbSet. 1262 AddWithValue (Methode). 1016 Administrador. 44, 85 Kennwort. 45 sa. 45 Sistema. 45 AdventureWorks2014. 70, 116, 706 Product-Tabelle. 70 ProductVendor-Tabelle. 76 Vendor-Tabelle. 76 AFTER-Trigger. 582, 588, 594, 867 Aggregat. 859 benutzerdefiniertes. 794, 859 instaladas. 866 Aggregatfunktion. 200 AVG. 201 COUNT. 202 MAX. 201 MIN. 202 SUM. 201 Aggregatmethoden. 1188 Aktivierungsprozedur. 636 Aktivitätsmonitor. 158% Prozessorzeit. 159 Batchanforderungen / Sekunde. 159 Datenbank-E / A. 159, 160 Prozesse. 159 Ressourcenwartevorgänge. 159 wartende Tasks. 159 Aktualisierung aktualisierte Instanz. 63 Durchführung. 58 Upgradestatus. 61 Volltextkataloge. 60 Zusammenfassung. 60 Aktualisierung von SQL Server. 51 Supervisor de atualização. 51 Aktualisierung von SQL Server 2005. 51 Aktualisierung von SQL Server 2008. 51 Atividades do SQL Server 2008 R2. 51 Aktualisierung von SQL Server 2012. 51 Aktualisierungsweitergabe. 459 Algorithmus, schützenswerter. 555 Alias. 304, 885 Tabelle. 304 ALL. 207, 1140 Opção para TODOS OS SERVIDORES. 868 AllowDBNull (Eigenschaft). 1054 ALTER. 601

Declaração ALTER ASSEMBLY. 802 Opção de dados não verificados. 802 VISIBILIDADE - Opção. 803 ALTER COLUMN. 372 ALTER DATABASE. 327 ALTER FUNCTION. 566, 574 ALTER LOGIN. 480 ALTER LOGIN. COM DEFAULT_ DATABASE. 480 PROCEDIMENTO ALTER. 549, 787 ALTER TABLE. ADICIONAR . 371 ALTER TABLE. ADICIONE CONSTRAINT. 384 ALTER TABLE. ALTER COLUMN. 372 ALTER TABLE. DROP COLUMN. 373 ALTER TABLE. DROP CONSTRAINT. 386 ALTER TABLE. NOCHECK CONSTRAINT. 385 ALTER TABLE. COM NOCHECK. 385 ALTER TRIGGER. 594 Instrução ALTER TYPE. 849 ALTER USER. 502 ALTER USER. COM PADRÃO_ ESQUEMA. 502 ALTER VIEW. COMO . 522 COLEÇÃO DE ESQUEMA ALTER XML. 936 American National Standards Institute. 163 Analyze der zu erfassenden Informationen. 97 starten. 707 von Beziehungen. 98 Analisar-Assistent. 55 Authentifizierung. 56 Analysis Services. 106 AND. 176 Änderungsnachverfolgung. 607, 623 Tabellenaktivierung. 624 Versionswert. 625 Änderungsweitergabe. 380 Anmeldedialog. 105 ANSI. 163 ANSI SQL-92-Standard. 859 ANSI-konforme Abfrage. 880 Anweisungsberechtigung. 488 Qualquer. 207, 1139 AppDomain. 798 Domínio de aplicativo. 797, 798 Gerenciamento de domínio de aplicativo. 798 ApplyCurrentChanges. 1238 ApplyOriginalChanges. 1238 Arbeitsauslastung. 701 ArcInfo-Shape. 434 ArgumentException. 1056

ArgumentException-Klasse. 848 ArgumentOutOfRangeException-Klasse. 857 Aristoteles. 175 Array. 641 AS. 180, 666, 892 ASCII. 263, 265 Montagem. 798 ALTER ASSEMBLY. 802 bereitstellen. 817 CRIAR MONTAGEM. 801 instaladas. 801 kompilieren. 808 Carregando. 797 mit sqlcmd bereitstellen. 819 ohne Visual Studio kompilieren. 818 PERMISSION_SET. 803 Sicherheitsstufen. 803 Sourcecode. 802 Versionierung. 802, 843 Verwaltung. 796, 801 Carregador de montagem. 801 Assembly Resolver. 797 Association. 1163 Associação de Produtores de Petróleo e Gás. 414 AssociationSet. 1162 Assoziation. 1159 Atomarität. 732 Atomicidade. 732 Attach-Methode DbSet. 1264 Attribut. 71, 92 atomares. 92 elementares. 93 Attributwert atomar. 92 elementar. 92 Liste. 93 Auflösung einer m: n-Beziehung. 99 Ausführungskontext. 799 Ausführungsplan. 534, 825 veralteter. 558 Ausgabe mit PRINT und SELECT. 225 Ausgabeparameter verwenden. 545 Ausgabestrom steuern. 834 Auswahloperator. 192 ENTRE. 194 IN. 196 IS. 193 LIKE. 196 Auswertungsreihenfolge. 174 Äußere Verknüpfung. 308

Authentifizierung. 105, 110, 474 Modus gemischter. 45 SQL Server. 44, 110, 474 Windows. 45, 110, 474 Authentifizierungsmodus. 44 AutoDetectChangesEnabled. 1269 AutoIncrement (Eigenschaft). 1063 AutoIncrementSeed (Eigenschaft). 1063 AutoIncrementStep (Eigenschaft). 1063 Autoinkrementspalte. 1063 AUTO-Modus. 956 Média. 1139 AVG. 201 Azure. 38

B Árvore balanceada. 678 Bankleitzahl. 75 Código de barras. 75 Basistabelle. 518, 597 lote. 227 Batch-Trennzeichen. 227 B-Baum. 678 bcp. 472 BEGIN. 238 INICIAR A TRANSAÇÃO. 737 COMECE A TENTAR. 900 BeginEdit (Methode). 1060 BeginExecuteReader (Methode). 1019 BeginTransaction (Methode). 996 Beispieldatenbank. 48 Instalação. 48 Northwind. 441 Benutzer. 479 Aktivierung. 494 Deaktivierung. 494 Montagem Benutzer. 799 Funktion Benutzerdefinierte. 563, 794, 820 ändern. 566, 574 Aufruf mit EXECUTE. 566 Darstellung im Objekt-Explorer. 565 Fehlerbehandlung. 564 em linha. 568 löschen. 566, 574 maximale Anzahl Eingabeparameter. 563 Rückgabedatentyp. 564 Skalarwert. 564 Standardwert. 563 Tabellenwert. 568, 571 Übersicht. 563

Funktion Benutzerdefinierte (Forts.) UDF. 563 Função definida pelo usuário. 563 Benutzerdefinierte Serialisierung. 854 Benutzerdefinierter Datentyp. 553, 794, 842 aktualisieren. 853 erstellen. 844 Zugriff vom Client. 858 Benutzerdefinierter Fehler. 291 anzeigen. 293 auslösen. 294 erstellen. 291 em Landessprache. 297 löschen. 302 nicht vordefinierter. 295 Benutzerdefinierter Trigger. 794, 867 instaladas. 873 Benutzerdefiniertes Aggregat. 794, 859 instaladas. 866 Benutzername. 110 Benutzerverwaltung. 473 Alias. 480 Datenbankzugriff erteilen. 478 Eigenschaften eines Benutzers anzeigen. 477 convidados. 498 Login. 474 SQL-Server-Log-in einrichten. 476 Standardschema zuweisen. 502 Windows-Log-in einrichten. 475 Zusammenfassung zu Rollen. 481 Zuweisung einer Rolle. 486 Zuweisung einer Standarddatenbank. 480 Berechnete Spalte. 181 Berechnete Spalten (Tabelle). 355 Berechtigung. 482 an Benutzer und Rollen vergeben. 487 Anweisungs-. 488 entziehen. 488 erben. 482 gewähren. 488 Objekt. 488 vergeben. 490 verweigern. 488 weitergeben. 491 Bericht (Datenbank). 160 Berichtsdatei. 130 Besitzerkette, gebrochene. 500 Beständigkeit. 732 BETWEEN. 194

Bezeichner. 165 begrenzter. 166 regulärer. 166 vollqualifizierter. 500 Beziehung. 80 1: 1. 98 1: 1-Beziehung. 80 1: n. 98 1: n-Beziehung. 81 m: n. 99 m: n-Beziehung. 82 bigint. 167 BASE BINÁRIA 64. 954 BinaryReader-Klasse. 854 BinaryWriter-Klasse. 854 Bit. 167 BLOB-Daten. 363 Block. 238 BLZ. 75 Marcador. 144 BREAK. 244 Breitengrad. 406 B-Tree. 678 Cópia em massa. 470 Programa de cópia em massa. 472 BULK INSERT. 470, 850 bulkadmin. 483 Bundesamt für Karthographie und Geodäsie. 434

C C ++. 793 Cache. 671, 734, 795 CHAMADO NA ENTRADA NULA - Opção. 822 CancelEdit (Método). 1060 CASCADE. 381 sensível a maiúsculas e minúsculas. 165 CASE-Funktion. 248 einfache. 249 komplexe. 251 Wertezuweisung durch. 254 CAST. 270 CATCH. 552 Bloco CATCH. 283, 840, 900 Alterar captura de dados. 607 Abfragefunktionen. 615 Änderungstabelle. 613 Aufzeichnungsinstanz. 613 Benutzer. 610 Datenbankkonfiguration. 609

Change Data Capture (Forts.) Datetime-Wrapperfunktionen. 622 Funktionsweise. 608 Schema. 609, 613, 615 Überwachung einrichten. 610 zyklische Abfragen. 620 Rastreamento de alterações. 1266 씮 Änderungsnachverfolgung CHANGE_TRACKING_CURRENT_ VERSION. 625 CHANGE_TRACKING_MIN_VALID_ VERSION. 626 ChangeDatabase (Methode). 996 ChangePassword (Methode). 980 ChangeState. 1237 CHANGETABLE. 626 CHAR. 263, 265 char (n). 167, 169 CHARINDEX. 264, 265 CHECK. 578, 581 OPÇÃO DE VERIFICAÇÃO. 525 CHECK-Constraint. 374, 378, 385 CHECKPOINT. 735 ARCOS CIRCULARES. 429 CIRCULARSTRING. 430 COMPOUNDCURVE. 431 CURVEPOLYGON. 432 CORDA CIRCULAR. 430 ClearAllPools (Methode). 997 ClearPool (Methode). 997 Client. 65, 84 ClientWins. 1246 CLOSE. 655 Fechado (Método). 983 Cloud-Datenspeicherung. 38 CLR. 791 Betriebssystemoperationen. 796 Hosting-API. 798 Integration. 791, 795 Tarefas. 797 CLR habilitado. 807 Contador de desempenho de execução CLR. 877 CLR vs. T-SQL. 807 CLR-Datentypen. 405, 816 Função CLR. 824 skalakre. 820 tabellenwertige. 820 CLR-Hosting. 796 CLR-Objekt. 808 administrieren. 874 Laufzeitinformationen. 876

CLR-Objekt (Forts.) Monitoramento. 874 CLR-Sicherheitsstufen. 803 EXTERNAL_ACCESS. 803 SEGURO. 803 INSEGURO. 803 CLR-Unterstützung aktivieren. 805 por Skript aktivieren. 807 씮 clr _en 씮 RECON 씮 sp_conf CLUSTERED. 687, 689 Codd, Dr. Edgar Frank. 66 Segurança de acesso ao código. 799 Método de coleção. 1259 ColumnMappings (Eigenschaft). 1040 Columnstore-Index. 717 Erstellung eines gruppierten Index. 724 Informationen zu vorhandenen Indizes. 728 Leistungsvergleich. Índice de gruppierter 720 nicht. 719 Prinzip. 717 Steuerung der Verwendung. 724 CommandBuilder. 1079 CommandTimeout (Eigenschaft). 1002 Enumeração CommandType. 1026 CommandType (Eigenschaft). 1026 COMMIT TRANSACTION. 738 Communityprojekte und Beispiele. 138 COM-Objekt. 793 einbinden. 793 Compact Edition. 38 COMPOUNDCURVE. 431 CONCAT. 264, 267 Linguagem de definição de esquema conceitual. 1161, 1163 CONNECT. 494 Tempo limite de conexão. 985 ConnectionState. 983 ConnectionString-Eigenschaft. 980 ConnectionTimeout (Eigenschaft). 995 Consistência. 732 Constraint. 374, 601, 824 ConstraintCollection. 1053 contém (). 942 CONTINUAR. 245 ContinueUpdateOnError. 1101 Contrato. 630

Controlador. 346 CONVERT. 271 Cópia na gravação. 341 Contagem. 202, 1136 COUNT (*). 203 CONTAGEM (DISTINTO). 202 Gerenciamento de CPU. 796 CRIAR. 601 CRIAR MONTAGEM. 801 Instrução CREATE ASSEMBLY. 801, 819 CRIAR BANCO DE DADOS. 315 CRIAR FUNÇÃO. 564, 568, 572 CREATE FUNCTION-Statement. 822, 825 CRIAR ÍNDICE. EM . 686 CRIAR LOGIN. 475 CRIAR LOGIN. DO WINDOWS. 475 CRIAR LOGIN. COM SENHA. 476 CRIAR PROCEDIMENTO. COMO . 535 CREATE PROCEDURE-Statement. 819 CRIAR PAPEL. 484 CRIAR ESQUEMA. 501 CRIAR ESQUEMA. AUTORIZAÇÃO. 501 CRIAR ÍNDICE ESPACIAL. 439, 440 CRIAR TABELA. 353 CRIAR ACIONADOR. EM . 582, 591 CRIAR ACIONADOR. EM TODOS OS SERVIDORES. 602 CRIAR ACIONADOR. NO BANCO DE DADOS. 604 Instrução CREATE TRIGGER. 873 CREATE TYPE-Anweisung. 553 Instrução CREATE TYPE. 849 CRIAR USUÁRIO. 479 CRIAR USUÁRIO… PARA LOGIN. 480 CRIAR VISTA. COMO . 520 CRIAR VISUALIZAÇÃO… COMO… COM OPÇÃO DE VERIFICAÇÃO. 527 CRIAR ÍNDICE XML. 947 CRIAR COLEÇÃO DE ESQUEMA XML. 935 CREATE_DATABASE. 602 CreateCommand (Methode). 997, 1001 Declaração CROSS APPLY. 881 CROSS JOIN. 310 Crystal Reports. 107 CSDL. 1161, 1163 CTE. 891 CUBE-Operator. 219, 222 Cursor. 641 Positionsangabe absoluto. 652 Aktualisierungsoptionen. 644 ausgewählte Daten aktualisieren und löschen. 661 automatisches Durchlaufen. 656

Cursor (Forts.) Bildlauffähiger. 644, 649 Daten in der Auswahl aktualisieren. 661 Daten in der Auswahl löschen. 661 Daten in der Cursorauswahl. 661 Datensätze abrufen. 646 dynamischer. 644 -ende. 654 erstellen. 643 FETCH-Anweisung. 646 Funktionen. 656 Funktionsweise. 641 Lese-. 644 löschen. 655 Nichtsperr-. 644 öffnen. 645 Positionsangabe. 648 Positionsangabe relativo. 652 schließen. 655 serverseitiger. 642 Sperr-. 644 Sperroptionen. 644 statischer. 644 Struktur. 645 Verwendung von Positionsangaben. 647 Vorwärts-. 644 Zugriffsoptionen. 644 CURVEPOLYGON. 432 Cliente (Bibliothek). 802 CYCLE. 670

D d (Platzhalter). 296 Linguagem de controle de dados. 164 Linguagem de definição de dados. 164, 601 Data Manipulation Language. 164, 579 Data Mart. 107 Linguagem de consulta de dados. 164 Serviços de transformação de dados. 107 Data Warehouse. 107 Parâmetro de acesso de dados. 821, 851 Database (Eigenschaft). 995 Verificador de consistência de banco de dados. 334 Comandos do console do banco de dados. Proprietário do banco de dados 334. 500 DataColumn. 1046 DataColumnCollection. 1046 DataColumnMappingCollection. 1042 DataMember. 1169 DataReader-Klasse. 833

DataRecord-Klasse. 829 DataRelation. 1073 DataRow. 1046 DataRowCollection. 1046 DataRowState. 1066 DataRowVersion. 1067 DataRowViewState. 1088 DataSet. 1040, 1044 DataSource (Eigenschaft). 995 DataTable. 1037, 1045 DataTableMapping. 1039 DATEADD. 258, 261 DATEDIFF. 258, 261 DATEFROMPARTS. 259, 262 Datei öffnen. 123 Dateigruppe. 317, 330, 362 Datei-ID. 678 Dateivergrößerung. 319 Daten, Speicherung im Dateisystem. 362 Datenabfragesprache. 164 DATENAME. 258 Datenbank. 113 ändern. 327 Auswahl durch USE. 177 benutzerdefinierte. 113 Dateien löschen. 329 eigenständige. 505 erstellen. 315 erstellen mit mehreren Dateien. 324 für die Arbeitsauslastungsanalyse. 706 Grundlagen. 65 historische. 66 Inhalt. 116 löschen. 324 physische. 85 relacional. 67 Standard-. 125 Struktur. 116 System-. 113 verfügbare. 125 verkleinern. 333 Verwaltung. 84 Datenbankbericht. 160 Datenbankdatei. 316 Eigenschaften ändern. 329 hinzufügen. 327 nachträgliche Änderung. 327 verkleinern. 335 Datenbankdiagramm. 117 ausdrucken. 119 erstellen. 117

Datenbankdiagramm (Forts.) Seitenumbrüche anzeigen. 119 speichern. 119 Tabelle entfernen. 119 Tabelle hinzufügen. 117, 119 Tabellen anordnen. 119 Unterstützung installieren. 117 verknüpfte Tabellen hinzufügen. 119 Datenbankentwurf. 89 Denormalisierung. 100 Grundlagen. 89 normalisierter. 90 Datenbank-Hauptschlüssel. 351 Datenbankkonfiguration. 623 Datenbankmanagementsystem Hauptaufgabe. 86 Struktur. 84 Datenbankmodul. 106, 109 Datenbankmodul-Abfrage. 123 Datenbankmodul-Optimierungsratgeber. 701 Datenbank-Momentaufnahme. 116, 337 Datenbankobjekt, temporäres. 115 Datenbankrolle benutzerdefinierte. 484 feste. 483 Datenbanksicherung. 115 Datenbanktrigger. 605 Datenbankzugriff erteilen. 478 Datendatei. 317 primäre. 316, 318 sekundäre. 317, 318, 324 Datendefinitionssprache. 164 Datenintegrität. 68, 374, 796 Implementierung. 374 Datenkonsistenz. 69, 581 Datenmanipulation auf Sichten. 597 Manipulações de dados. 164 Datenprovider. 974, 975 Datensatz ändern. 456 einfügen. 451 kopieren. 461 löschen. 459 manipulieren. 451 mit IDENTITY-Wert einfügen. 454 com NULL e DEFAULT restantes. 453 Datensteuerungssprache. 164 Datentyp. 842, 843 benutzerdefinierter. 553, 794

Datentyp (Forts.) CLR. 405, 414 geodätischer. 406 geografia. Geometria 406. 406 hierarchischer. 405, 441 planarer. 406 räumlicher. 405 Datentypen no SQL Server. 70 bigint. 167 bits. 167 car (n). 167 datetime. 167 decimal. 167 float. 167 dinheiro. 167 nchar (n). 167 numérico. 167 nvarchar (n). 167 reais. 167 smalldatetime. 167 smallmoney. 167 tinyint. 167 varbinary (máx). 171 varchar (n). 167 Datenverschlüsselung, transparente. 350 DATEPART. 258, 260, 824, 887 datetime. 167, 168 Datums- / Uhrzeitfunktionen. 167, 257 Datums- / Uhrzeitwerte. 172 DIA. 257, 258, 260 dias do ano. 257 db_accessadmin. 484 db_backupoperator. 484 db_datareader. 484 db_datawriter. 484 db_ddladmin. 484 db_denydatareader. 484 db_denydatawriter. 484 Função DB_ID. 691 db_owner. 484 db_securityadmin. 484 DBCC. 334 DBCC CHECKDB. 850 DBCC CHECKFILEGROUP. 850 DBCC CHECKTABLE. 850 DBCC SHOW_STATISTICS. 699 DBCC SHOWCONTIG. 691 DBCC SHRINKDATABASE. 334 DBCC SHRINKFILE. 335 DBConcurrencyException. 1101, 1106

DbContext. 1251 DbContext-API. 1251 dbcreator. 483 DbEntityEntry. 1258 DBMS. 83 dbo. 500 DbSet. 1252 DbUpdateException. 1265 DCL. 164 DDL. 164, 601 DDL-Ereignisgruppe. 603 DDL-Trigger. 601, 605, 867 com Datenbankbereich. 601, 604 com Serverbereich. 601 Deadlock. 757, 796, 799 Beispiel. 759 Opfer. 758 Situação. 758 Vermeidung. 759 DEALLOCATE. 655 Debuggen. 127 beenden. 128 Einzelschritt. 127 Haltepunkt. 127 nächste Anweisung anzeigen. 127 weiter. 128 Depuração. 802 decimal. 167, 168 DECLARAR. 229, 643 DECLARAR. CURSOR. 643 DEFAULT. 453, 525, 541, 563, 577 VALORES PADRÃO. 456 Restrição DEFAULT. 374, 379 DefaultIfEmpty. 1145 DEFAULT-Wert. 913 Carregamento adiado. 1196 Deklarative Integrität. 601 Dekrement. 232 DELAY. 247 DELETE. 459, 526, 528, 579, 730 Excluir (Método). 946, 1061 APAGAR DE. 459 DeleteCommand. 1081, 1093 excluídos. 869, 914 EXCLUÍDO-Tabelle. 469, 584, 642 DeleteObject-Methode. 1218 Denormalisierung. 100 DENSE_RANK-Funktion. 906 DENSE_RANK-Methode. 907 NEGAR. 488 Detailtabelle. 380

DetectChanges-Methode. 1267 Developer Edition. 38 Dienst. 107, 147, 629 Dienstendpunkt. 629 Diensthauptschlüssel. 350 Dienstkonto. 44 DIFERENÇA. 264 DirectoryInfo-Klasse. 842 DISABLE TRIGGER. EM . 588 diskadmin. 483 Distinto. 183, 1134 Divisão. 174 DLL-Dateien-Benennung. 787 DML. 164, 579 DML-Anweisung. 596, 730 DML-Trigger. 579, 587, 605, 867 programmieren. 581 Dokumentation und Community. 137 Domänenkonto. 44 Doppelt verkettete Liste. 680 DQL. 164 DROP. 601 DROP COLUMN. 373 DROP DATABASE. 324 FUNÇÃO DROP. 566, 574 DROP INDEX. 694 PROCEDIMENTO DE QUEDA. 549 DROP STATISTICS. 698 DROP TABLE. 373 DROP TRIGGER. 591 DROP TRIGGER. EM TODOS OS SERVIDORES. 604 Instrução DROP TYPE. 849 DROP USER. 479 DROP VIEW. 522 COLEÇÃO DE ESQUEMA DROP XML. 936 DROP_EXISTING. 693 DTS. 107 Durabilidade. 732 DYNAMIC. 644 Dynamische Management-View. 876 Dynamische SQL-Anweisung. 277 EXECUTAR. 278 sp_executesql. 278

E Eager Loading. 1198, 1257 Ebene. 280 Editionsvergleich. 38 EdmScalarProperty. 1169 Eigenschaften-Fenster. 134

Eigenständige Datenbank. 505 Besonderheiten der Benutzerverwaltung. 508 Durchführung der Konvertierung. 512 Erstellung. 506 Identifizierung. 507 Identifizierung von datenbankübergreifenden Elementen. 513 Configuração de servidores. 505 Konvertierung. 511 Konvertierung von Benutzern. 513 Konzept. 505 Migração. 514 Verbindungsaufbau. 509 Eingabeparameter verwenden. 536 Einschränkung. 374 aktivieren. 385 deaktivieren. 385 Definição. 375 Definição auf Spaltenebene. 375 Definição auf Tabellenebene. 375 Eigenschaften. 376 löschen. 386 nachträgliche Definição. 384 verwalten. 384 Einzug vergrößern. 131 verkleinern. 131 ElementAt. 1145 ElementOrDefault. 1145 ELEMENTS. 952 ELSE-Zweig. 239 ENCRIPTAÇÃO. 555 END. 238 TERMINAR TENTATIVA. 900 EndEdit (Methode). 1060 EndExecuteReader (Methode). 1019 Endlosschleife. 129 EnlistTransaction (Methode). 997 Enterprise Edition. 37 Entität. 71, 1155 Entitätsklasse. 1167 Entitätstyp. 71 Modelo de dados de entidade. 1150 Entity SQL. 1199 Provedor EntityClient. 1174, 1205 EntityCollection. 1186 EntityConnection. 1172, 1206 EntityContainer. 1162, 1163 EntityDataReader. 1205 EntityKey. 1167, 1222, 1235

EntityKeyProperty. 1169 Entidade-Relacionamento-Diagrama. 102 EntitySet. 1162 EntityState. 1167, 1224, 1274 EntityType. 1163 Entry-Methode. 1258 Entscheidungstabelle mit PIVOT erstellen. 887 EOMONTH. 259, 263 EPSG (European Petroleum Survey Group). 414 Nachfolge. 414 Código EPSG. 414 ER-Diagramm. 102 Ereignisauswahl. 702 Ereignisbenachrichtigung. 629 auslösen. 634 empfangen. 634 erstellen. 633 Löschen von Objekten. 640 Ereignisgruppe. 604 Ergebnis. 132 em Datei. 130 em Raster. 129 no texto. 130 Ergebnisbereich. 131 Função de erro ERROR_LINE (). 287 ERROR_LINE-Funktion. 901 ERROR_MESSAGE (). 287 ERROR_MESSAGE-Funktion. 901 ERROR_NUMBER (). 286 ERROR_NUMBER-Funktion. 901 ERROR_PROCEDURE (). 287 Função ERROR_PROCEDURE. 901 ERROR_SEVERITY (). 287 Função ERROR_SEVERITY. 901 ERROR_STATE (). 287 Função ERROR_STATE. 901 Tratamento de erros. 282 Erweiterte gespeicherte Prozedur. 792 Depuração. 792 Nachteile. 792 eSQL. 1173 European Petroleum Survey Group. 414 Edição de avaliação. 37 Notificações de eventos / Ereignisbenachrichtigung. 629 EventData-Eigenschaft. 871 Parâmetro de evento. 868 Excel. 314

Exceto . 222, 223, 1136 EXCEPT-Statement. 917 Fechadura Exclusiva. 744 EXEC. 124 EXECUTAR. 124, 278, 533 EXECUTAR AS. 560, 784 Benutzername. 561 CHAMADOR. 560 PROPRIETÁRIO. 561 SELF. 560 ExecuteAndSend () - Método. 833, 869 ExecuteNonQuery (Methode). 1002 ExecuteReader (Methode). 1002 ExecuteScalar (Methode). 1002 ExecuteStoreCommand-Methode. 1210 ExecuteStoreQuery-Methode. 1210 existe (). 940 Exklusionsverknüpfung. 305 Exklusiv-ODER-Funktion. 348 Carregamento explícito. 1258 EXPLICIT-Modus. 960 Explizite Konvertierung. 269 ​​Express Edition. 38 maximale Datenbankgröße. 38 EXTERNO. 836 EXTERNAL_ACCESS. 803, 812

F Factory-Methode. 1214 Fallunterscheidung. 248 CASE. 248 ISNULL. 255 Farbcodierung. 123 Blau. 123 Dunkelgrau. 124 Dunkelgrün. 124 Grün. 124 Magenta. 124 Rot. 124 Rotbraun. 124 Fehler. 291 abbruchverursachender. 291 benutzerdefinierter. 291 is_event_logged-Parameter. 282 parâmetro de gravidade. 281 text-Parameter. 282 Fehler auslösen. 904 mit Parametern. 295 programmgesteuert. 294 Função RAISERROR. 904

Fehlerbehandlung. 282, 899 @@ ERROR. 282 Funktionen zur. 286 EXPERIMENTE… PEGUE. 282 verschachtelte. 905 Fehlermeldung. 279 Ebene. 280 Meldung. 280 Meldungstext. 281 Status. 280 Struktur. 279 Zeile. 281 Fehlernummer. 300 Festkommazahl. 167 FETCH. 215 FETCH. A PARTIR DE . 646 Fiber. 796 FILEGROWTH. 316, 319, 323 NOME DO ARQUIVO. 316, 318, 323 FILESTREAM. 45, 362, 397 Aktivierung auf Serverebene. 397 Aktivierung einer Instanz. 363 Dateigruppe. 367, 398 DELETE. 370 Empfehlungen. 363 filestream_access_level. 398 für Transact-SQL-Zugriff aktivieren. 364 GUID-Spalte. 368 INSERT. 369 Konfiguration einer Datenbank. 366 nachträgliche Konfiguration einer Datenbank. 368 SELECIONE. 369 Speicherung von FILESTREAM-Daten. 368 Streamingzugriff von Remoteclients auf FILESTREAM. 365 Tabellendefinition. 368 unverschlüsselte Speicherung von FILESTREAM-Daten. 363 ATUALIZAÇÃO. 370 Windows-Freigabe. 398 Zugriff auf FILESTREAM-Daten mit Transact-SQL. 369 FileTable. 397 Agrupar nome do arquivo (opção). 400 CRIAR TABELA. COMO FILETABLE. 400 Darstellung im Objekt-Explorer. 401 database_default. 401 Diretório (opção). 400 DIRECTORY_NAME (opção). 399 Erstellung. 400

FileTable (Forts.) Erstellung einer Datenbank zur Verwendung von FileT. 399 file_name. 402 file_type. 402 FULLPATH NOME DA CONSTRAÇÃO ÚNICA. 401 Inhalt no Windows-Explorer. 403 is_archive. 402 is_directory. 402 is_hidden. 402 nicht transaktionaler Zugriff. 398 nicht transaktionaler Zugriff FULL. 399 nicht transaktionaler Zugriff OFF. 399 nicht transaktionaler Zugriff LEIA SOMENTE. 399 NON_TRANSACTED_ACCESS (opção). 399 parent_path_locator. 404 path_locator. 404 NOME DA RESTRIÇÃO DA CHAVE PRIMÁRIA. 400 Sichten. 404 NOME EXCLUSIVO DA RESTRIÇÃO DO STREAMID. 400 Struktur. 402 Tabelleninhalt. 403 virtuelles Verzeichnis. 402 Voraussetzungen. 397 Windows-Freigabe für FILESTREAM. 398 Zugriff auf. 402 Zugriff com Windows-Explorer. 402 Preencher (Método). 1034 FillError (Ereignis). 1043 FILLFACTOR. 688 FillRowMethodName-Parâmetro. 821, 828 FillSchema (Methode). 1052, 1056 finalmente-Bloco. 840 Find_Methode, DbSet. 1253 Dispare um gatilho. 579 FireInfoMessageEventOnUserErrors. 995 Primeiro (Operador). 648, 1142 First-Methode. 1180 FirstOrDefault. 1143 FirstOrDefault-Methode. 1180 float. 167 fn_cdc_get_all_changes. 615, 617, 621 todos. 617 todas as atualizações antigas. 618 fn_cdc_get_net_changes. 615, 618, 621 todos. 619 todos com máscara. 619 todos com fusão. 620

PARA DELETE-Klausel. 870 PARA INSERT-Klausel. 870 PARA ATUALIZAÇÃO-Klausel. 870 PARA XML. 949 PARA XML-Klausel XMLDATA. 967 CHAVE ESTRANGEIRA. 76, 581 Restrição FOREIGN KEY. 374, 377, 1053 FOR-Klausel. 885 FORMAT. 275 Formatierung. 165 FORMATMESSAGE. 301 Format-Parameter. 844, 859 FORWARD_ONLY. 644, 648, 657 Fragmentierung. 690, 692 Fremdschlüssel. 76, 171 com NULL-Zulässigkeit. 455 Fremdschlüsselverletzung. 76 de. 1120, 1122 Func. 1115 Funktion. 256 benutzerdefinierte. 794 bereitstellen. 822 CONCAT. 267 Datum / Uhrzeit. 257 Fehlerbehandlung. 286 IIF. 254 Konfigurations-. 257 Konvertierung. 268 mathematische. 267 Status. 268 Zeichenfolge. 263 zur Statusabfrage. 268 Funktionsauswahl. 42 Funktionskörper. 565

G Ganzzahl. 167 Coletor de lixo. 797 Steuerung. 797 Gebrochene Besitzerkette. 500 Índice Gefilterter. 713 Gemischter Modus. 111, 474 GEO84. 434 Geodaten Ebenen der räumlichen Indizierung. 437 Erstellung von Indizes. 438 Index auf eine geography-Spalte. 439 Index auf eine geometry-Spalte. 440 Indizierung. 437 Rasterung einer Ebene. 438

Geodaten (Forts.) Unterschiede in der Indizierung. 438 Geodätischer Datentyp. 406 Linguagem de marcação de geografia. 406, 407 geografia-Datentyp. 406 praktisches Beispiel. 433 Geometrische Methoden. 420 GeometryCollection. 413 geometria-Datentyp. 406 Georeferenzierung. 434 Gespeicherte Prozedur. 531, 794, 812 Anzeige der Parameter. 544 Ausgabeparameter. 545 Eingabeparameter. 536 ENCRIPTAÇÃO. 555 erstellen. 535 löschen. 549 maximale Größe. 533, 548 maximale Parameteranzahl. 548 com Visual Studio erstellen. 812 Optionen. 555 Performancegewinn. 533 posiçõesbezogene Übergabe. 540 Quelltext. 532 RECOMPILAR. 558 RETURN. 549 Rückgabestatuscode. 548 schützenswerter Algorithmus. 555 systemintern kompilierte. 781 Tabellenübergabe. 553 verweisbezogene Übergabe. 542 GetAncestor-Methode. 448 GetChildRows. 1076 GETDATE. 259, 260 GetDescendant-Methode. 446 GetLevel-Methode. 447 GetModifiedProperties. 1234 GetName (Methode). 1014 GetObjectByKey. 1235 GetOrdinal (Methode). 1012 GetParentRow. 1076, 1077 Get-PSDrive. 154 GetReparentedValue-Methode. 449 GetRoot-Methode. 444 GetSchema (Methode). 997 GetSchemaTable (Methode). 1013 Gleitkommazahl. 167 Variável global. 234 GML (Linguagem de marcação de geografia). 406, 407

IR . 227, 535, 604 GOTO. 246 GPS (Sistema de Posicionamento Global). 405, 414 GRANT. 488 GRANT. COM OPÇÃO DE CONCESSÃO. 491 GROUP BY. 217 CUBE. 219, 222 GRUPOS DE CONJUNTOS. 219, 220 ROLLUP. 219, 221 GRUPO POR ... TENDO. 218 GroupBy. 1129 GRUPO SETS-Operador. 219, 220 GroupJoin. 1133 Gruppierte Rangliste mit Windowing. 908 Convidado. 498 Gültigkeitsbereich von Variablen. 233

H Hardwareserver. 66 HasErrors (Eigenschaft). 1103 Hash-Funktion. 775 Hash-Index BUCKET_COUNT. 778 Hauptschlüssel Datenbank. 351 Dienst. 350 Heap. 676, 680 Hierarchische Daten-Verarbeitung. 895 Hierarchischer Datentyp. 405, 441 Abbildung von Selbstreferenzierungen. 442 GetAncestor-Methode. 448 GetDescendant-Methode. 446 GetLevel-Methode. 447 GetReparentedValue-Methode. 449 GetRoot-Methode. 444 IsDescendantOf-Methode. 449 Methoden. 443 Método de análise. 445 Método de leitura. 450 ToString-Methode. 443 unter T-SQL nicht unterstützte Methode. 450 Método de gravação. 450 hierarchyid. 404 Hilfeeinstellungen verwalten. 138 HOLDLOCK. 756 Host. 796 Hosting-API. 798 Camada de Hospedagem. 799 HostProtection-Attribut. 801

I I / O-Zugriff. 797 IBinarySerialize-Interface. 854, 863 Identitätswechsel. 561 IDENTIDADE. 356, 454, 600, 642 IDENTITYCOL. 357 Identity-Spalte. 356, 913 IEnumerable. 1117 IEnumerable-Interface. 825, 828 SE EXISTIR. 241, 312 IFELSE. 238 IF-Zweig. 239 Código IL. 801 Impersonalisierung. 803, 838 Impersonate-Methode. 839 Implizite Konvertierung. 269 ​​IN. 196 Incluir Método. 1199 INCREMENT. 666 Index. 675 automatische Erstellung. 689 Balanced Tree. 678 B-Baum. 678 Blattebene. 678, 683 B-Tree. 678 agrupados. 676 Columnstore. 717 durchlaufen. 679 erstellen. 686 Fragmentierung. 690, 692 Füllfaktor. 688 für speicheroptimierte Tabelle. 773 geeignete Spalten. 700 gefilterter. 713 gruppierter. 676, 680 Hash-Funktion. 775 Hash-Index. 774 Nível de folha. 678 löschen. 694 manuelle Erstellung. 686 Neuerstellung. 693 nicht geeignete Spalten. 701 nicht gruppierter. 676 nicht gruppierter auf gruppiertem. 683 nicht gruppierter auf Heap. 676 nicht gruppierter Hash-Index. 776

Index (Forts.) Oberste Seite. 678 Planung. 699 primärer. 946 root. 678 Schlüsselwert. 678 Seite. 678 sekundärer. 947 Stamm / Wurzel. 678 Statistiken. 694 Struktur. 675, 677 Umwandlung. 682 Uniquifier. 683 verwalten. 690 Indextyp. 946 InfoMessage (Ereignis). 832, 990 Informationsschemasicht. 529 Initialisierung. 230 Init-Methode. 860 Inkonsistenz. 746 Inkrement. 232 Inlinefunktion. 568, 572 In-Memory-ADO.NET-Datenprovider. 828 In-Memory-OLTP. 763 INNER JOIN. 305 Umkehrung der Funktionsweise. 311 Junções internas (EF). 1190 Innere Verknüpfung. 305 INSERT. 451, 525, 527, 579, 730, 946 mit mehreren Datensätzen. 460 INSERT… SELECT. 462 INSERT INTO. VALORES PADRÃO . 456 INSERT INTO. VALORES. 451 InsertCommand. 1081, 1093 inserido-Tabelle. 469, 584, 869, 914 Instalação. 37, 40 Aktivierung von FILESTREAM. 45 Auswahl des Authentifizierungsmodus. 44 Beispieldatenbank. 48 benannte Instanz. 43 Center. 39 Dienstkonten. 44 Festlegung eines Administradores. 44 Funktionsauswahl. 42 Instanzkonfiguration. 43 mehrfache. 43 Produktschlüssel. 40 Standardinstanz. 43 Systemkonfigurationsprüfung. 40 Volltextsuche. 42 zeitlich befristete Version. 40

Centro de instalações. 51 Installationsvoraussetzungen. 38 Hardware. 39 Softwarekomponenten. 38 Instanz. 108 benannte. 43 Standard-. 43, 108 Instanzkonfiguration. 43 EM VEZ DE-Trigger. 582, 591, 594, 867 Verwendung mit Sicht. 597 Opção de segurança integrada. 842 Serviços de integração. 107 Integrität deklarative. 601 prozedurale. 601 Integritätsart. 86 benutzerdefinierte. 88 Domänen-. 87 Entitäts-. 87 referentielle. 87 IntelliSense. 139 Objektauswahl. 139 Vorschlag übernehmen. 139 Idioma intermediário. 801 Organização de Padrões Internacionais. 163 Interne Transaktionsverarbeitung. 734 INTERSECT. 222, 224, 1135 Instrução INTERSECT. 917 Interface INullable. 845 InvalidOperationException. 983 IS. 193 is_event_logged. 282 ISBN. 75, 93 IsByteOrdered-Parameter. 844 IsDescendantOf-Methode. 449 IsDeterministic-Parameter. 821, 851 IsFixedLength-Parameter. 844 IsInvariantToDuplicates-Parameter. 859 IsInvariantToNulls-Parameter. 860 Parâmetro IsInvariantToOrder. 860 IsLoaded-Eigenschaft. 1259 IsMutator-Parameter. 851 ISNULL. 255 IsNullable. 1169 IsNullIfEmpty-Parameter. 860 IsNull-Methode. 845 ISO. 163 iso_week. 257 Isolation. 732 Isolationsstufe auf Verbindungsebene. 745

Isolationsstufe (Forts.) Eigenschaften. 753 Informationen über. 754 LEIA COMPROMETIDO. 748 LEIA NÃO COMPROMETIDO. 746 LEITURA REPETÍVEL. 750 SERIALIZÁVEL. 752 ISO-SQL-2003-Standard. 931 IsPrecise-Parameter. 822, 851 isql (Dienstprogramm). 148 IsSendingResultsets-Eigenschaft. 838 ItemArray (Eigenschaft). 1061 Iterator. 825

J Jahr. 257 JIT-Image. 798 Junte-se. 1131 Operador JOIN. 303 CROSS JOIN. 310 INNER JOIN. 305 LEFT OUTER JOIN. 308 mehrfache Anwendung. 309 OUTER JOIN. 308 DIREITO OUTER JOIN. 308 Just-in-Time-Kompilierung. 798

K Kalenderwoche. 257 Kartesisches Produkt. 310 Kennwort. 110 speichern. 110 Kennzeichnung. 172 von Datums- / Uhrzeitwerten. 172 von Zahlenwerten. 172 von Zeichenketten. 172 Klammeroperator. 198 Klassenbibliothek. 808 Kombinierte Deklaration und Wertezuweisung. 231 Kommentar. 124, 173 Block-. 173 entfernen. 131 hinzufügen. 131 Zeilen-. 173 Kompatibilität festlegen. 879 Komplexe Eigenschaften. 1158 Konfigurationsfunktion. 257 Konfigurations-Manager. 147

Konsistenz. Kontext. Konvertierung. explizite. implizite. Informationsverlust. Konvertierungsfunktion. Koordinaten kartesische. Polar-. Koordinatenreferenzsystem. Koordinatenübergabe an räumlichen Datentyp. Kopfgesteuerte Schleife. Kopie bei Schreibvorgang. Kopie einer Tabelle. Kreuztabelle in flache Ouça transformieren. mit PIVOT erstellen. Kreuzverknüpfung.

732 829 269 269 269 272 268 406 406 414 407 243 341 463 889 883 310

L Längengrad. 406 language_id. 281 Último. 648, 1144 LastOrDefault. 1144 Laufzeitinformationen. 876 Lazy Loading. 1194, 1256 ESQUERDA. 264 LEFT OUTER JOIN. 308 Junções Externas Esquerdas (EF). 1191 Leistungsindikator. 876, 877 LEN. 264 Lesezeichen. 144 aktivieren. 145 deaktivieren. 145 em Ordner gruppieren. 146 löschen. 145 umbenennen. 145 umschalten. 144 Zugriff auf. 146 Lesezeichenfenster. 144 LIKE. 196 LineString. 410 Linke äußere Verknüpfung. 308 LINQ. 1111 Liste, doppelt verkettete. 680 Lizenzvereinbarungen. 53 Carregar DbSet. 1254 Load-Methode. 1197

(local) . 110 Local DbSet. 1254 localhost. 110 LOG. 316 LOG ON. 316 Número de sequência de log. 614 Login. 474 logische Operatoren. 175 AND. 176 NÃO. 176 OR. 176 Variável de Lokale. 229, 234 Verwendung des Datentyps »tabela«. 574 LongCount. 1136 Conexão Loop-back. 792 Löschweitergabe. 380, 460 INFERIOR. 264 LSN. 614 LTRIM. 264

M m: n-Beziehung, Auflösung. 99 Código gerenciado. 793, 795 Management Studio Abfrage-Designer. 135 Eigenschaften-Fenster. 134 Ergebnisbereich. 131 Lesezeichen. 144 Lesezeichenfenster. 144 neue Abfrage. 123 Oberfläche. 111 Skript-Generierung. 143 verbinden. 111 Vorlagen-Explorer. 140 Management-View, dynamische. 876 Linguagem de Especificação de Mapeamento. 1161, 1164 MARS (conjuntos de resultados ativos múltiplos). 1009 Massenkopieren. 470 bcp. 472 BULK INSERT. 470 mestre (Systemdatenbank). 114 Mastertabelle. 380 COMBINADO. 466 COMBINADO PELO ALVO. 466 Mathematische Funktionen. 267 máx. 201, 1139 MaxByteSize-Parameter. 844, 859 MaxLength (Eigenschaft). 1054 MAXSIZE. 316, 319, 323 MAXVALUE. 669

Mehrfache JOIN-Anweisungen. 309 Mehrtabellenabfrage. 303 Meldung. 280 Meldungen. 132 Meldungstext. 281 Mengenlehre. 67 Projeção de Mercator. 436 MERGE-Anweisung. 464 abschließendes Semikolon. 465 Ausgabeparameter von OUTPUT. 469 excluído-Tabelle. 469 Filterung in der ON-Klausel. 468 Filterung in der WHEN-Klausel. 469 Filterung von Datensätzen. 468 Grundlagen. 464-Tabelle inserido. 469 COMBINADO. 466 COMBINADO PELO ALVO. 466 NÃO CORRESPONDENTE À FONTE. 466 ON. 464 SAÍDA-Klausel. 469 Quelltabelle. 464 THEN-Klausel. 464 USANDO. 464 Verknüpfungsbedingung. 464 Zieltabelle. 464 Merge-Methode. 860 MergeOption. 1226 Message. 288 message_id. 281 Methodenüberladung. 809 Microsoft.SqlServer.Server-Namespace. 815, 821, 830 Millisekunde. 258 min. 202, 1139 minutos. 258 MINVALUE. 670 Espelhamento. 348 MissingMappingAction (Eigenschaft). 1042 MissingMappingAction (Enumeração). 1043 MissingSchemaAction (Eigenschaft). 1052 MissingSchemaAction (Enumeração). 1058 M-Methode. Modelo 419. Modelo 323 (Systemdatenbank). 115 modelo-Datenbank. 319 MODIFICAR ARQUIVO. 329 modificar (). 941 Módulo-Divisão. 174 Modus, gemischter. 474

Momentaufnahme erstellen. 337 interne Verwaltung. 340 mit mehreren Dateien. 343 Monat. 257 dinheiro. 167, 168 MESES. 257, 258, 260 m-Parâmetro (räumlicher Datentyp). 408 mscorlib.dll. 800 msdb (Systemdatenbank). 115 MSL. 1161, 1164 MultiLineString. 410 Multiplicação. 174 MultiPoint. 409 Mutator-Methode. 852

N NAME. 316, 318, 323 Nome vollgekennzeichneter. 313 vollqualifizierter. 313, 501 Namensauflösung, verzögerte. 558 Nome-parâmetro. 822, 844, 860, 868 Namespace. 933 Native Serialisierung. 853 NavigationProperty. 1164 Navigationseigenschaft. 1158, 1184 nchar (n). 167, 169 NET 2.0. 797 NET Assembly Loader. 801 NET-Assembly. 795 NET-Runtime. 796 NET-Speichermanagement. 796 NET-Threadpool. 797 NET-Typen. 843 Netzwerkserver. 109 Neue Abfrage. 123 Neue Ablaufverfolgung. 702 Neustart. 115 NewRow (Método). 1062 NEXT. 648 PRÓXIMO VALOR. 665 NextResult (Methode). 1011 NICHT. 176 Nicht gruppierter Hash-Index. 776 NOCHECK CONSTRAINT. 385 NOCHECK CONSTRAINT ALL. 386 nós (). 941 Nó-Tabela. 946 NOLOCK. 756

NÃO EXCLUSIVO. 676, 687, 689 Forma normal. 90 Normalisierung. 89 praktische Anwendung. 97 Normalisierungsregel. 90 1. Normalform. 91 2. Normalform. 94 3. Normalform. 95 Northwind-Beispieldatenbank. 441 NÃO. 176, 177, 193 NÃO CORRESPONDENTE À FONTE. 466 NTFS-Dateisystem. 363 Função NTILE. 906 NTILE-Methode. 912 NULL. 193, 231, 453, 541 Null-Eigenschaft. 845 NULL-Wert. 810, 913 otimierte Speicherung. 358 NULL-Zulässigkeit. 354 Number. 288 numérico. 167, 168 nvarchar (n). 167, 169

O O / R-Mapper. 843 Serviços de objeto. 1173 OBJECT_ID-Funktion. 556, 691 ObjectContext. 1171, 1211 ObjectQuery. 1180 Mapeamento objeto-relacional. 1149 ObjectSet. 1177 ObjectStateEntry. 1222, 1229 ObjectStateManager. 1222 Objektberechtigung. 488 Objekt-Explorer. 112 Objektverwaltung. 500, 501 ODBC. 792 ODER-Verknüpfung. 176 Office-Dokument. 932 OFFSET. 215 OGC (Open Geospatial Consortium). 405 OLAP. 106 OLE DB. 792 OleDbCommand. 999 ON. 306, 316, 362, 464 NA EXCLUIR. 381 NA ATUALIZAÇÃO. 381 Processamento analítico online. 107 Onlinebanking. 75 Parâmetro OnNullCall. 851

Aberto (método). 645, 982 Open Geospatial Consortium. 405 OPENXML ein XML-Dokument in eine Tabelle importieren. 969 OPENXML-Rowset-Provider. 968 sp_xml_preparedocument. 968 sp_xml_removedocument. 970 OPENXML-Abfragen. 917 Operador. 124, 173 arithmetischer. 174 Auswahl. 192 logischer. 175 Vergleich. 174 Verknüpfung. 303 Zeichenkette. 174 Operatorenrangfolge. 176, 190 OPG (Association of Oil & Gas Producers). 414 Optimierungsratgeber. 701 OPTIMISTIC. 644 OptimisticConcurrencyException. 1246 OPÇÃO (MAXRECURSION X). 898 OR. 176, 177 Oracle. 107, 163, 165, 314, 741 ORDEM DE Klausel. 184 OrderBy. 1127 OrderByDescending. 1127 Orders.dll. 802 osql (Dienstprogramm). 148 Instrução EXTERNO APPLY. 881 OUTER JOIN. 308, 880 SAÍDA. 469, 545 Ausgabeparameter. 469 SAÍDA-Klausel. 913, 914 Parâmetro de SAÍDA. 817 OVER-Klausel. 908

P PacketSize (Eigenschaft). 995 PAD_INDEX. 688 Page. 676 Paging. 215 mit ROW_NUMBER. 910 Paging (EF). 1182 PAGLOCK. 756 Parallelität. 746 Parâmetro. 810 ParameterDirection (Enumeração). 1030 Parameters-Auflistung. 1016

Parametrisierte Sicht. 570 Parität. 348 Parse-Methode. 416, 445, 845, 846 Aufruf (expliziter). 416 Aufruf (impliziter). 417 PARTIÇÃO POR-Klausel. 909 Partitionierung. 389 Partitionierungsspalte. 390 Partitionsfunktion. 390 Partitionsschema. 392 Índice PATH. 264, 265, 947 PATH-Modus. 958 Desempenho. 843 Contador de desempenho. 877 Parâmetro PERMISSION_SET. 803 Personalnummer. 75 Physischer Speicherort. 362, 683 Pipe. 830 PIVOT-Anweisung. 883 pontos. 408 Polarkoordinaten. 406 Polygon. 411 mit nicht geschlossener Fläche. 412 posição. 678 Positionsangabe absoluto. 652 parente. 652 Positionsmarke. 641 POWER. 268 Primäre Datendatei. 316, 318 Primärer Index. 946 Primärschlüssel. 72, 171 Eindeutigkeit. 72 kombinierter. 72 Vorhandensein. 75 Wahl eines. 73 Primärschlüsselverletzung. 72 PRIMÁRIO. 317, 362 CHAVE PRIMÁRIA. 72, 577, 689, 1054 PRIMARY KEY-Constraint. 374, 376 IMPRIMIR. 126, 225, 269, 284, 287 ANTES. 648 Procedimento-Objekt. 808 processadmin. 483 Produktivumgebung. 147 Profiler. 701, 876 Programmcode farbige Markierung. 123 Programmgesteuerte Fehlerauslösung. 294 Projektion. 180, 1179 PropertyChanged. 1168

PropertyChanging. 1168 Índice de PROPRIEDADE. 947 Protokoll. 86, 734 Protokolldatei. 316, 317, 318 ProviderManifestToken. 1162 ProviderToken. 1162 Prozedur. 287 com depuração do Visual Studio. 819 temporäre. 817 vs. Funktion. 807 Prozedurale Integrität. 601 Prozessorauslastung. 115 público. 484 pubs (Beispieldatenbank). 90 Pufferüberlauf. 799

Q Quartal. 257 trimestre. 257 Quelltabelle. 464 Interoperabilidade de consulta. 781 Otimizador de consulta. 893 consulta (). 940 Query-Engine. 825, 915 Método de consulta. 1261 Queue. 630

R RAID-System. 346 RAID 0. 346 RAID 1. 347 RAID 3. 348 RAID 5. 349 RAISERROR. 294, 295 Função RAISERROR. 904 RAND. 267 Função RANK. 906 Classificação- und Windowing-Funktionen. 906 RANK-Methode. 906 Räumlicher Datentyp. 405 allgemeine Verwendung. 417 geografia. 406 geometrische Methoden. Geometria 420. 406 GeometryCollection. 413 grundlegende Techniken. 414 Klassenmodell. 407 Koordinatenübergabe. 407 LineString. 410

Räumlicher Datentyp (Forts.) Methoden zur Abfrage von Eigenschaften. Methoden zur Auswahl einzelner Objekte. Methoden zur Koordinatenrückgabe. Methoden zur Verarbeitung. M-Methode. m-Parameter. MultiLineString. MultiPoint. Parse-Methode. Apontar . Polygon. Reiter. ID de referência espacial. SRID. STArea-Methode. STCentroid-Methode. STContains-Methode. STCrosses-Methode. STDimension-Methode. STEndPoint-Methode. STEnvelope-Methode. STGeometryN-Methode. STGeometryType-Methode. STGeomFromText-Methode. STIntersection-Methode. STIntersects-Methode. STIsClosed-Methode. STIsSimple-Methode. STLength-Methode. STNumGeometries-Methode. STNumPoints-Methode. STPointN-Methode. STPointOnSurface-Methode. STSrid-Methode. STStartPoint-Methode. STSymDifference-Methode. STTouches-Methode. STUnion-Methode. STWithin-Methode. STX-Methode. STY-Methode. ToString-Methode. Verwendung als Spaltendatentyp. Z-Methode. Parâmetro z. Räumlicher Index auf eine geography-Spalte. auf eine geometry-Spalte.

426 426 419 418 419 408 410 409 416 408 411 415 414 414 420 420 423 422 428 426 422 428 428 414 424 424 421 421 420 429 427 427 421 428 426 425 422 425 423 419 419 415 417 419 408 439 440

Índice Räumlicher (Forts.) Erstellung. 438 RAW-Modus. 951 RDBMS. 84 Ler (Método). 1007 READ_ONLY. 644 READCOMMITTED. 756 Método de leitura. 450 Somente leitura (Eigenschaft). 554, 1054 READUNCOMMITTED. 756 reais. 167 RECEBER. 634 Rechte. 482 Rechte äußere Verknüpfung. 308 Rechtevergabe. 490 an Benutzer und Rollen. 487 RECOMPILAR. 558 RECONFIGURAR. 366, 807 Recordset. 132 leeres. 132 Redundanz. 67 Überprüfung auf. 99 Vermeidung von. 68 Método de referência. 1259 Atualizar. 1248 Regulärer Ausdruck. 793 Regulärer Bezeichner. 166 Reiter. 123, 144 Ergebnisse. 132 Meldungen. 132 räumliche Ergebnisse. 415 RejectChanges. 1070, 1076 Rekursionsstufe einstellen. 898 Relação. 67, 70 Relationstyp. 71 RELATIVO n. 648 Chamada de procedimento remoto. 850 Remove-Methode DbSet. 1263 REPEATABLE-Option. 916 REPEATABLEREAD. 756 substituem o valor de. 946 Função REPLACE. 889 Reporting Services. 107 ReportPropertyChanged. 1169 ReportPropertyChanging. 1169 ResetStatistics (Método). 997 Ressourcencenter. 138 RESTART. 669 RetrieveStatistics (Methode). 997 RETORNO. 246, 549

RETORNOS. 565, 569 RETORNA NULL ON NULL INPUT - Opção. 823 Declaração de RETORNO. 905 Reverse. 264, 1129 REVERT. 561 REVOKE. 488 DIREITO. 264 DIREITO OUTER JOIN. 308 Junção Externa Direita (EF). 1192 TRANSAÇÃO DE ROLLBACK. 738 Instrução ROLLBACK. 903 Rolle. 481 Benutzer hinzufügen. 486 Datenbank-, benutzerdefinierte. 484 Datenbank-, feste. 483 erstellen. 484 Server. 482 ROLLUP-Operator. 219, 221 ROOT. 953 ROUND. 267 Route. 632 Construtor de linha. 460 ROW_NUMBER-Funktion. 906 ROW_NUMBER-Methode. 909, 910 RowChanged (Ereignis). 1060 RowChanging (Ereignis). 1060 ROWLOCK. 756 RowState (Eigenschaft). 1065 RowUpdated. 1104 RowUpdating. 1104 RPC. 850 RTRIM. 264 Rückgabecode. 549 Rückgabedatentyp. 564 Rückgabestatuscode verwenden. 548 Rückgabewert. Regra 810 (enumeração). 1076

S s (Platzhalter). 296 SEGURO. 803, 812 sa-Konto. 802 SaveChanges-Methode. 1213, 1268 Schema. 473, 499, 935 erstellen. 501 Standardschema zuweisen. 502 ESQUEMA. 783 Coleção de esquemas. 935 Schemainformationen. 1050 SchemaType (Enumeração). 1057

Schleife. 243 Schleifenbedingung. 243 Schleifenende. 244 Schleifenkopf. 244 Schleifenkörper. 243 Schlüssel. 71 Fremdschlüssel. 76 Primärschlüssel. 72 Schlüsselsymbol. 171 Schlüsselwort. 123 Schriftart. 125 Schützenswerter Algorithmus. 555 Schweregrad. 300 SCROLL. 644 SCROLL_LOCKS. 644 segundos. 258 securityadmin. 483 Gerenciamento de segurança. 796 Seite. 676 Seitennummer. 678 Seitenteilung. 681 Seitenweises Abrufen von Datensätzen. 215 Sekundäre Datendatei. 317, 318 Índice Sekundärer. 947 Sekunde. 258 Selbstreferenzierung. 441 select. 1120 SELECIONE. PARA DENTRO . 462 SELECIONE… DE. 178 Selecione (Método). 1088 SELECT-Anweisung. 178 * (Platzhalter). 179 AS. 180 berechnete Spalte. 181 DISTINTO. 183 Einbindung mehrerer Tabellen. 303 GRUPO POR… HAVING-Klausel. 218 GRUPO BY-Klausel. 217 PEDIDO DE Klausel. 184 Spaltenliste. 179 TOP. 212 TOP (n). 212 PARTE SUPERIOR (n) POR CENTO. 213 TOPO (n) COM LAÇOS. 214 UNION. 210 WHERE-Klausel. 187 SelectCommand (Eigenschaft). 1033 SelectMany. 1127 Selecionar operador. 1126 Selektion. 188 Send-Methode. 831

SendResultsEnd-Methode. 834, 842 SendResultsRow-Methode. 834 SendResultsStart-Methode. 834, 841 Sequenz. 1176 Abruf einzelner Werte. 665 Abruf von Werten. 664 Anfordern eines Wertebereichs. 665 AS. 666 CACHE. 671 CICLO. 670 Darstellung im Objekt-Explorer. 664 Erstellung. 663 Festlegung der Schrittweite. 667 Festlegung des Datentyps. 666 Festlegung des Maximalwerts. 669 Festlegung des Startwerts. 667 Festlegung eines Minimalwerts. 670 INCREMENT. 666 Informationen zu. 664 Leistungsoptimierung. 671 MAXVALUE. 669 MINVALUE. 670 Neustart. 669 PRÓXIMO VALOR. 665 RESTART. 669 sp_sequence_get_range. 665 Standardeinstellungen. 663 START. 666 sys.sequences. 664 zyklisches Durchlaufen. 670 Sequenzen. 663 Serialisierung. 853 benutzerdefinierte. 854 nativo. 853 SERIALIZÁVEL. 756 Atributo serializável. 845 Server. 65 Ressourcen. 66 verfügbarer. 109 Objetos de gerenciamento de servidor. 880 serveradmin. 483 Servereigenschaften. 112 Nome do servidor. 108, 110 Suche fortsetzen. 108 Serverrolle. 482 Servertyp. 106 Analysis Services. 106 Datenbankmodul. 106 Serviços de integração. 107 Reporting Services. 107 ServerVersion (Eigenschaft). 995

Serviço . 629 Service Broker. 630 aktivieren. 636 Aktivierungsprozedur. 636 Datenbankkonfiguration. 630 interne Aktivierung. 636 Modifizierung der Warteschlange. 639 SET. 230 SET DEADLOCK_PRIORITY. 759 DEFINIR IMPLICIT_TRANSACTIONS. 741 SET LOCK_TIMEOUT. 755 DEFINIR O NÍVEL DE ISOLAMENTO DA TRANSAÇÃO. 746 SetAdded (Método). 1070 SetModified (Methode). 1070 SET-Statement. 849 setupadmin. Gravidade 483. 281, 288, 904 Shape2SQL.exe. 434 Bloqueio compartilhado. 744 Sicherheitshierarchie. 473 Sicherheitsrichtlinien. 799 Sicht. 517 ändern. 522 Daten manipulieren. 597 Manipulação de dados auf. 523 DELETE auf. 526, 528 Einsatz. 518 Einschränkungen. 520 erstellen. 520 im Objektkatakog. 521 Informationsschema-. 529 INSERT auf. 524, 525, 527 löschen. 522 parametrisierte. 570 System-. 528 ATUALIZAÇÃO auf. 526, 528 Verwaltung. 520 Single. 1144 Método Único. 1180 SingleOrDefault. 1144 SingleOrDefault-Methode. 1180 SIZE. 316, 319, 323 Skalar. 564 Função CLR Skalare. 820, 823 erstellen. 823 Skalare Eigenschaften. 1156 Skalarwertfunktion. 564, 573 Skip. 1141 SkipWhile. 1141 Skript. 123 Skript-Generierung. 143

smalldatetime. 167, 168 smallint. 167 smallmoney. 167, 168 SMO. 880 Softwareserver. 66 Sortierung. 777 verschachtelte. 186 FONTE. 464 SourceColumn (Eigenschaft). 1094 SourceVersion (Eigenschaft). 1094 sp_add_operator. 542 sp_addlinkedserver. 314 sp_addmessage. 292 sp_addrolemember. 486, 531 sp_cdc_enable_db. 609 sp_configure. 366, 398, 807 sp_dbcmplevel. 879 sp_dropmessage. 302 sp_executesql. 278 sp_help. 336 sp_helpdb. 322, 336 sp_helpfile. 336 sp_helpindex. 690 sp_helptext. 555 sp_recompile. 559 sp_sequence_get_range. 665 sp_spaceused. 337, 359 sp_xml_preparedocument. 968 sp_xml_removedocument. 970 ESPAÇO. 264 Spalte berechnete. 181, 355 Definição. 353 geringe Dichte. 359 hinzufügen. 371 Identitätspalte. 356 löschen. 373 NULL-Zulässigkeit. 354 Spaltenalias. 180 Spaltendefinition. 353 Spalteneigenschaft ist von geringer Dichte. 360 SPARSE. 358 Spaltenname. 70 SPARSE. 358 Empfehlungen. 361 ID de referência espacial. 414 Speicherkorruption. 799 Speichermanagement. 797 Speicheroptimierte Tabelle. 763 Beständigkeit. 764

Speicheroptimierte Tabelle (Forts.) Erdtellung eines Hash-Index. 776 Erstellung. 769 Erstellung für beständige Inhalte. 769 Erstellung für nicht beständige Inhalte. 771 Festlegen der Isolationsstufe. 768 Grundlagen. 763 Hash-Index. 774 Hinzufügen der Datei. 767 Hinzufügen der Dateigruppe. 766 Indexarten. 774 Indizierung. 773 Informationen zu vorhandenen Indizes. 779 Konfiguration der Datenbank. 765 mit beständigen Inhalten. 765 mit nicht beständigen Inhalten. 765 Speicherort der DLL-Dateien. 787 Vergleich des Verhaltens. 772 Speicherort, physischer. 362, 683 Speicherung spaltenbasiert. 719 zeilenbasiert. 718 Speicherverwaltung. 795 Speicherwarnung. 797 Sperre. 743 Block. 743 Datenbank. 743 Datensatz / Schlüssel. 743 Ebene. 743 Fechadura Exclusiva. 744 gemeinsame. 744 Hinweise auf Tabellenebene. 755 Informações über. 757 Seite. 743 Bloqueio compartilhado. 744 Tabelle. 743 Tempo limite. 754 Sperrstufe einer Verbindung. 754 Sincronização de spindels. 349 Sprungmarke. 247 SQL. 163 Bezeichner. 165 Formatierung. 165 SQL Edição 2014, Gegenüberstellung von. 38 SQL Injection. 531 SQL Server (Dienst). 147 SQL Server 2005 Aktualisierung von SQL Server 2005. 51

SQL Server 2008 Aktualisierung von SQL Server 2008. 51 IntelliSense. 139 SQL Server 2008 R2 Resumo do SQL Server 2008 R2. 51 Administrador do SQL Server 2014. 44 Aktualisierung auf. 37, 51 Aktualisierung von. 51 Beispieldatenbank. 48 benannte Instanz. 43 Datentypen. 70 Dienstkonten. 44 Documentação. 137 Editionsvergleich. 38 Hilfe zu. 137 Instalação. 37, 39 Installationsvoraussetzungen. 38 Standardinstanz. 43 Supervisor de atualização. 54 verfügbare Versionen. 37 SQL Server 2014 Edition Azure. 38 Compact. 38 Desenvolvedor. 38 Enterprise. 37 Avaliação. 37 Express. 38 Standard. 37 Web. 38 SQL Server 2014 R2 zu aktualisierende Instanz. 51 SQL Server 7.0. 106, 107 SQL Server Integration Services. 107 SQL Server Profiler. 701 sql_identifier. 935 SQL-99-Standard. 884, 892 SQL-Abfrage-Editor. 122 SQL-Anweisung. 122 bearbeiten. 122 SqlBinary. 811 SqlBoolean. 811 SqlByte. 811 Provedor SqlClient. 975 SQLCLR. 791, 807 Verwendung. 794 sqlcmd (Dienstprogramm). 148 Abfrage ausführen. 150 Parameter. 148 sqlcmd-Tool. 819

SqlCommand. 999 SqlCommand-Klasse. 829, 833 SqlConnection. 976 SqlConnection-Klasse. 829, 832 SqlConnectionStringBuilder. 981 SqlContext-Klasse. 829, 830, 839, 868 SqlDataAdapter. 999, 1030 SqlDataAdapter-Klasse. 829, 858 SqlDataReader. 999, 1005 SqlDataReader-Klasse. 831 SqlDataRecord-Klasse. 835 SqlDateTime. 811 SqlDecimal. 811 SqlDouble. 811 SqlException. 1017 SqlFunction-Attribut. 821, 828 SqlGuid. 811 SqlInfoMessageEventHandler. 832 SqlInt16. 811 SqlInt32. 811 SqlInt64. 811 SqlMetaData-Klasse. 841 SqlMethod-Attribut. 851 SqlMoney. 811 SqlParameter. 1016, 1018 SqlParameter-Klasse. 829 SqlPipe-Klasse. 829, 830, 834 SqlPipe-Objekt. 820 SqlProcedure-Attribut. 808, 816 sqlps. 153 SqlRowUpdatedEventArgs. 1105 SQL-Server-Aktivitätsmonitor. 158 Navegador do SQL Server. 147 SQL-Server-Cmdlet. 157 SQL-Server-Datentypen. 843 SQL-Server-Dienst. 147 SQL Server. 147 SQL-Server-Agent. 147 SQL-Server-Browser. 147 SQL-Server-Konfigurations-Manager. 147 SQL-Server-Profiler-Ereignis. 876 SqlSingle. 811 SqlString. 811 SqlTrigger-Attribut. 867 SqlTriggerContext-Klasse. 829 SqlTypes.SqlXml-Klasse. 871 SqlUserDefinedAggregate-Attribut. 859, 863 SqlUserDefinedType-Attribut. 844, 850 SQRT. 268 SRID (ID de referência espacial). 414, 434, 435 SSDL. 1161

SSIS. 107 Standard Edition. 37 Standarddateigruppe. 362 Standarddatenbank. 125 Standardinstanz. 43 Stapel. 233 Stapeltrennzeichen. 227 STArea-Methode. 420 START. 666 State (Eigenschaft). 288, 983 StateChange (Ereignis). 992 State-Eigenschaft. 1274 STATIC. 644 StatisticsEnabled (Eigenschaft). 996 Statistik. 694 aktualisieren. 698 automatisch aktualisieren. 695 automatisch erstellen. 695 Erstellung. 697 Informações abrufen. 698 Informationen über. 696 löschen. 698 Statistische Werte. 697 Status. 280 Código de status. 549 STCentroid-Methode. 420 STContains-Methode. 423 STCrosses-Methode. 422 STDimension-Methode. 428 STEndPoint-Methode. 426 STEnvelope-Methode. 422 STGeometryN-Methode. 428 STGeometryType-Methode. 428 STGeomFromText-Methode. 414 STIntersection-Methode. 424 STIntersects-Methode. 424 STIsClosed-Methode. 421 STIsSimple-Methode. 421 STLength-Methode. 420 STNumGeometries-Methode. 429 STNumPoints-Methode. 427 Linguagem de definição do esquema de armazenamento. 1161 Procedimento armazenado. 531, 794 StoreWins. 1246 STPointN-Methode. 427 STPointOnSurface-Methode. 421 Streaming-Funktion. 825 String. 124 Striping. 347 nome forte. 798 Linguagem de consulta em inglês estruturado. 163

Linguagem de consulta estruturada. 163 STSrid-Methode. 428 STStartPoint-Methode. 426 STSymDifference-Methode. 425 STTouches-Methode. 422 Stunde. 258 STUnion-Methode. 425 STWithin-Methode. 423 STX-Methode. 419 STY-Methode. 419 SUBSTRING. 264 Subtraktion. 174 Suche fortsetzen. 108 Soma 201, 1137 Syntaxprüfung. 129 sys.assemblies_modules-View. 874 sys.assemblies-View. 874 sys.assembly_files-View. 874 sys.assembly_types-View. 874 sys.databases. 609, 691 sys.dm_clr_appdomains-View. 876 sys.dm_clr_loaded_assemblies-View. 876 sys.dm_clr_properties-View. 876 sys.dm_clr_tasks-View. 876 sys.dm_db_index_physical_stats. 691 sys.dm_tran_locks. 757 sys.fn_cdc_get_max_lsn. 617 sys.fn_cdc_get_min_lsn. 617 sys.fn_cdc_increment_lsn. 620 sys.fn_cdc_map_time_to_lsn. 621 sys.objects. 691 sys.sequences. 664 sys.sp_cdc_enable_table. 610 sys.sp_cdc_generate_wrapper_function. 622 sys.sql_modules. 555 sys.stats. 699 sys.triggers-View. 874 sys.types-View. 849 sys.xml_schema_collections. 937 sys.xml_schema_namespaces. 937 sysadmin. 483 Administrador do sistema (sa). 497 Sistema. *. 800 system.data.dll. 800 System.Data.SqlClient-Namespace. 829 Namespace System.Data.SqlServer. 829 System.Data.SqlTypes. 816 Namespace System.Data.SqlTypes. 810 system.dll. 800 System.Drawing. 801 system.security.dll. 800

System.Security.Principal.WindowsIdentity-Klasse. 839 System.Security.Principal.WindowsImpersonationContext-Klasse. 839 System.Web. 801 system.web.services.dll. 800 System.Windows.Forms. 801 system.xml.dll. 800 Systemassemblies. 798 SystemDataAccess-Parameter. 822 Systemdatenbank. 113 mestre. 114 model. 115 msdb. 115 tempdb. 115 Systemdatentypen. 166 Systemfehler, Verhalten bei. 735 Systemfunktion. 124 Systemintern kompilierte gespeicherte Prozedur. 781 ändern. 787 Demonstração das opções ATOMIC e LANGUAGE. 785 DLL. 781 Erstellung. 782 Erstellung für lesenden Zugriff. 784 Opção ATOMIC. 784 Opção EXECUTE AS. 784 Opção de idioma. 784 Opção NATIVE_COMPILATION. 783 Opção SCHEMABINDING. 783 Opção NÍVEL DE ISOLAMENTO DA TRANSAÇÃO. 784 Interoperabilidade de consulta. 781 Speicherort der DLL-Dateien. 787 Verwendung von. 781 Systemkonfigurationsprüfung. 40 Systemobjekt. 124 Systemprozedur. 124 Systemsicht. 115, 528, 530 Systemtabelle. 802

T Tabelle. 67 ändern. 370 Beziehungen. 78 erstellen. 353 Informações zu Datentypen. 171 Kopie. 463 leeren. 460

Tabelle (Forts.) Löschen. 373 particionado. 394 Partitionierung. 389 physischer Speicherort. 362 Spalte ändern. 372 Spalte hinzufügen. 371 Spalte löschen. 373 Definição de Spalt. 353 speicheroptimiert. 763 struktureller Aufbau. 69 temporäre. 386 Tabellenalias. 304 Tabelleninhalt anzeigen. 120 Tabellenkopie. 463 Tabellenname. 70, 353 Tabellenscan. 675, 677 Tabellenseite. 916 Tabellenstruktur anzeigen. 120 Tabellenwertfunktion. 568, 573 mit mehreren Anweisungen. 571 Tabellenwertige CLR-Funktion. 820, 824 erstellen. Página da tabela 825. 916 TableDefinition-Parameter. 822, 828 TableMappingsCollection. 1037 Tabelas. 1046 TABLESAMPLE-Klausel. 915 REPETÍVEL - Opção. 916 Variável TABELA. 889, 914 TABLOCK. 756 TABLOCKX. 756 Fluxo de dados tabular. 834 Tag (der Woche). 259 Tag (des Jahres). 257 Tag (des Monats). 257 Take. 1140 TakeWhile. 1141 TARGET. 464 targetNamespace-Attribut. 935 Alvo-Parâmetro. 868 Tarefa. 797 tblAutor. 382 tblAutor Budap. 383 tblBank. 382 tbl relevant. 383 TDE. 350 Formato TDS. 834 tempdb. 387 tempdb (Systemdatenbank). 115 Template. 140

Temporäre Prozedur. 817 Temporäre Tabelle. 386 globale. 387 lokale. 386 löschen. 387 Método Terminate. 860 Testdatensätze erzeugen. 311 texto. 282 Textdatei. 107 ENTÃO. 464 ThenBy. 1128 ThenByDescending. 1128 Thread. 796, 797 Threadmanagement. 797 Threadmodell. 795 Threadpool. 796 Sincronização de threads. 796 THROW. 299 TIME. 248 TIMEFROMPARTS. 259, 262 Tempo limite. 754, 797 tinyint. 167 ToArray-Methode. 1183 ToDictionary-Methode. 1182 ToList-Methode. 1182 ToLookup-Methode. 1183 TOP. 212 TOP (n). 212 MÁXIMO (n) POR CENTO. 213 TOPO (n) COM LAÇOS. 214 TOP-Klausel. 915 ToString-Methode. 415, 443, 845 ToTraceString-Methode. 1178 traços. 703 TRAN. 737 TRANSAÇÃO. 737 NÍVEL DE ISOLAMENTO DA TRANSAÇÃO. 784 Transact-SQL. 164, 644 Transact-SQL-Cursor. 644 Transaktion. 729 bestätigen. 738 Checkpoint. 735 Einführung. 729 explizite. 741 Finanz-. 729 implizite. 741 interne Verarbeitung. 734 Isolationsstufe auf Verbindungsebene. 745 Phantomwert. 752 Programmierung. 737 Protokoll. 734

Transaktion (Forts.) Prüfpunkt. 735 Rollback. 737 Rollforward. 737 rückgängig machen. 738 Transaktionsprotokoll. 734 Transaktionsprotokolldatei. 317 Transformação. 925 Translate-Methode. 1210 Transparene Datenverschlüsselung. 350 Trigger. 287, 579, 642, 867 APÓS. 582 ändern. 594 Anzeige des Quelltextes. 596 benutzerdefinierter. 794, 867 DDL. 601 deaktivieren. 588 EXCLUÍDO-Tabelle. 584 DML. 579 Funktionskörper. 589 implementieren. 869 INSERTED-TAbelle. 584 instaladas. 873 EM VEZ DE. 591 löschen. 591 mit Datenbankbereich. 601, 604 com Serverbereich. 601 Programmierung. 579 TriggerAction-Eigenschaft. 868 TriggerContext-Klasse. 868, 871 TABELA TRUNCATE. 460 TRUSTWORTHY-Eigenschaft. 836 TRY. 552 TRY. CAPTURA . 282, 289, 564, 738 TRY_CAST. 273, 274 TRY_CONVERT. 273, 274 Bloco TRY. 283 Bloco TRY-CATCH. 905 TryGetObjectByKey. 1235 TryGetObjectStateEntry. 1232 T-SQL. 791 Verwendung. 794 Instrução T-SQL. 793 Tuning. 702 Tupel. 71 Typ als Klasse abbilden. 857 TYPE. 953 Typsystem. 795

U u (Platzhalter). 296 posiçõesbezogene Übergabe. 540 verweisbezogene. 542 UDF. 563 Opção de dados não verificados. 802 Status não confirmado. 900 Undo () - Método. 839 UND-Verknüpfung. 176 Unicode. 169 Formato Unicode. 856 Union. 210, 1135 UNIQUE. 577, 686, 689 Unique (Eigenschaft). 1054 CONSTRAINT ÚNICA. 377 Restrição UNIQUE. 374 UniqueConstraint. 1053 Índice Único. 824 Uniquifier. 683 UNPIVOT-Anweisung. 884 INSEGURO. 803 Unterabfrage. 204, 235, 242, 312 ALL. 207 QUALQUER. 207 korrelierte. 209 ATUALIZAÇÃO. 456, 526, 528, 579, 730 ATUALIZAÇÃO. DEFINIR . 456 ESTATÍSTICAS DE ATUALIZAÇÃO. 698 UpdateCommand. 1081, 1093 UpdateException. 1219 UpdateStatus (enumeração). 1105 UPDLOCK. 756 Supervisor de atualização. 51 Analisar-Assistente. 55 erneute Ausführung. 58 Funktionsauswahl. 53 Instalação. 51, 53 Instalationsassistent. 52 Installationsassistenz. 53 Assistente de análise do Supervisor de atualização. 55 UPPER. 264 US-amerikanisch. 297 USE. 177, 604, 706 Usuário. 479 Agregado definido pelo usuário. 794 Função definida pelo usuário. 563, 794, 820 Acionador definido pelo usuário. 794 Tipo definido pelo usuário. 794, 843 Função de USUÁRIO. 499

V ValidationMethodName-Parâmetro. 844 valor (). 941 VALUE-Index. 947 varchar (n). 167, 169 Variável. 229 Deklaration. 229 globale. 234 Gültigkeitsbereich. 233 Initialisierung. 230 kombinierte Deklaration und Wertezuweisung. 231 lokale. 229, 234, 643 Verwendung. 234 Wertezuweisung. 230 Wertezuweisung durch Abfrage. 234 Wertezuweisung mit SELECT. 236 Wertezuweisung mit SET und Unterabfrage. 235 Veralteter Ausführungsplan. 558 Verbinden. 111 Verbindung gemischter Modus. 474 öffnen. 982 schließen. 983 Sperrstufe. 754 vertraute. 474 Verbindungspooling. 986 Verbindungsserver. 314 Verbindungszeichenfolge. 976 Verfügbare Datenbanken. 125 Verfügbarkeit. 843 Vergleichsoperator. 174 Verknüpfung äußere. 308 innere. 305 linke äußere. 308 mehrfache. 309 rechte äußere. 308 Verknüpfungsbedingung. 306 Verschachtelte Sortierung. 186 Vertrag. 630 Vertraute Verbindung. 474 Verzögerte Namensauflösung. 558 Visualização. 517 VISIBILIDADE - Opção. 803 Visual Basic. 793

Estúdio visual . 405 Visual Studio .NET. 107 Visual Studio 2005. 812 Nome Vollgekennzeichneter. 313 Vollqualifizierte Bezeichner. 500 Nome Vollqualifizierter. 313, 501 Volltextsuche. 42, 932 Vorlage. 140 Parameterwerte angeben. 141 Vorlagen-Explorer. 140 Vorwärtscursor. 648

W Wahrheitswerte. 175 Währung. 167 WAITFOR. 247, 637, 760 Warteschlange. 630 Wartungsaufgabe. 115 Web Edition. 38 semanas. 257 dias úteis. 257 Binário conhecido. 407 Texto conhecido. 407 Wertebereich. 167 Wertezuweisung. 174 uma variável eine. 230 WGS 84. 434 QUANDO. 249 onde. 1124 DE ONDE CORRENTE. 661 WHERE-Klausel. 187, 304 ENQUANTO. 243 Wildcard. 948 Função de janela. 906 Windows PowerShell allgemeiner Aufruf. 152 anwendbare Laufwerksbefehle. 154 Aufruf aus dem Management Studio. 153 Get-PSDrive. 154 ISE (Integrated Scripting Environment). 152 ISE-Oberfläche. 152 Oberfläche. 152 Pfadangabe. 155 Referência rápida. 151 Skriptsprache. 151 sqlps. 153 Cmdlets do SQL-Server. 157 Integração com SQL Server. 151, 153 Windows-Freigabe. 364

WindowsIdentity-Eigenschaft. 839 WindowsIdentity-Klasse. 839 WindowsImpersonationContext-Klasse. 839 Windows-Systemsteuerung. 147, 148 COM OPÇÃO DE CONCESSÃO. 491 COM NOCHECK. 385 COM PERMISSION_SET-Direktive. 819 COM-Schlüsselwort. 892 WKB (binário conhecido). 407 WKT (Texto conhecido). 407, 414 Wochentag. 257 carga de trabalho. 701 WorkstationID (Eigenschaft). 996 Protokoll de gravação antecipada. 734 Método de gravação. 450

X XACT_ABORT-Anweisung. 899 XDR-Schema (XML-Data Reduced). 967 XML. 925, 947 COLEÇÃO DE ESQUEMA ALTER XML. 936 Atributo. 933 CRIAR ÍNDICE XML. 947 CRIAR COLEÇÃO DE ESQUEMA XML. 935 Dokument. 934 COLEÇÃO DE ESQUEMA DROP XML. 936 Element. 933 Fragment. 934 Indexerstellung. 933 Indextyp. 946 Indizierung von XML-Feldern. 946 Leerzeichen. 934 Namespace. 933 Nó-Tabela. 946 OPENXML. 968 PATH-Index. Índice de 947 primärer. 946 Índice de PROPRIEDADE. 947 Ressourcenverbrauch. 934 Coleção de esquemas. 935 Índice sekundärer. 947 Standardwerte definieren. 935 sys.xml_schema_collections. 937 sys.xml_schema_namespaces. 937 targetNamespace-Attribut. 935 typisiertes und untypisiertes XML. 933 Validierung. 933 VALUE-Index. 947 Vor- und Nachteile. 931 Wildcard. 948

XML (Forts.) Wohlgeformtheit. 933 Wurzelelement. 934 XDR-Schema (XML-Data Reduced). 967 XML DML. 940 XML DOM (XML Document Object Model). 968 xml: base. 945 XML-Daten em einem relationalen Modell speichern. 968 XML-Daten konvertieren. 935 XML-Datentyp verwenden. 934 XML-Feld anlegen. 933 XML-Feld füllen. 934 XML-Feld mit einem Schema verknüpfen. 935, 936 Índice XML. 947 xmlns. 945 XML-Schema. 935 XPath. 940 XQuery. 940 xsi: nulo. 945 xsi: tipo. 945 Linguagem de modificação de dados XML. 940 XML DML. 940 depois. 945 antes. 945 deletar. 945 primeiro. 945 insert. 944 em. 945 último. 945 substituem o valor de. 946 Modelo de objeto de documento XML. 968 XMLDATA. 967 XML-Datenbank. 925 XML-Datentyp. 931 existe (). 940 modificar (). 941 nós (). 941 consulta (). Valor 940 (). 941 XML-Dokumentspeicherung. 933 XML-Feld indizieren. 946 XmlReader-Klasse. 872 XP. 792 XPath. 925, 940 XQuery. 940 deletar. 946 insert. 946 substituem o valor de. 946

XQuery-Prozessor. 947 XSLT. 925

ANO. 258, 260 anos. 257

Z Zahlenwert. 172 Zählervariable. 244 Zeichen. 167 Zeichenfolgenfunktion. 263 Zeichenkette. 124, 172, 263

Zeichenkettenoperator. 174 Zeichenverkettung. 174 CONCAT. 267 Zeile. 281 Zeilenendezeichen. 165 Zeilenkonstruktor. 460 Zeilennummer. 246 Zelle. 71 Zertifikat. 350 Zieldienst. 631 Zieltabelle. 464 Z-Methode. 419 Parâmetro z (räumlicher Datentyp). 408 Zwischenspeicher. 734

Dirk Mertins é Microsoft Certified Solution Developer (MCSD) e Microsoft Certified Database Administrator (MCDBA). Er ist freiberuflicher Trainer for die Themen SQL-Programmierung und Datenbanken.

Jörg Neumann ist IT-Consultant bei der Resco GmbH em Hamburgo, Fachautor und Sprecher auf Entwicklerkonferenzen. Er ist Spezialist für Client- und Datenbank-Technologien.

Andreas Kühnel ist als freiberuflicher IT-Trainer und Berater deutschlandweit tätig. Er ist seit 1995 como Microsoft Certified Trainer (MCT) zertifiziert. Zu seinen Schwerpunkten in der .NET-Welt gehören Datenbanken, Win- dows-Anwendungen mit WPF, ASP.NET und die WCF.

Dirk Mertins, Jörg Neumann, Andreas Kühnel

SQL Server 2014 - Das Programmierhandbuch EPUB-Format, 1.308 Seiten *, em Farbe, 6. Auflage 2014 59,90 Euro, ISBN 978-3-8362-3676-8 * auch erhältlich als gebundenes Buch: 69,90 Euro, ISBN 978 -3-8362-3044-5

Wir hoffen sehr, dass Ihnen diese Leseprobe gefallen hat. Gerne dürfen Sie diese Leseprobe empfehlen und weitergeben, allerdings nur vollständig mit allen Seiten. Die vorliegende Leseprobe ist in all ihren Teilen urheberrechtlich geschützt. Alle Nutzungs- und Verwertungsrechte liegen beim Autor und beim Verlag. Teilen Sie Ihre Leseerfahrung mit uns!


Assista o vídeo: Hazus. Connect to a SQL Database in ArcGIS