<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sql on csegura</title><link>http://blog.romheat.net/tags/sql/</link><description>Recent content in Sql on csegura</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 23 Apr 2017 00:00:00 +0200</lastBuildDate><atom:link href="http://blog.romheat.net/tags/sql/index.xml" rel="self" type="application/rss+xml"/><item><title>NEngine - SQL Authentication using JWT Tokens</title><link>http://blog.romheat.net/posts/2017/17_04_23_nengine/</link><pubDate>Sun, 23 Apr 2017 00:00:00 +0200</pubDate><guid>http://blog.romheat.net/posts/2017/17_04_23_nengine/</guid><description>&lt;p>NEngine is a skeleton project that I use to start new projects where I need to use SQL Server for the database and JWT tokens for authentication. The project is available on &lt;a href="https://github.com/csegura/nengine" target="_blank">GitHub&lt;/a>&lt;/p>
&lt;p>It is necessary to have a SQL Server database with stored procedures to authenticate the user and generate the JWT token. The stored procedures are:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;CHECK_EMAIL&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;DATABASE.dbo.checkEmail @email = @email&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;SAVE_USER&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;DATABASE.dbo.saveUser @email = @email, @password = @password&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;LIST_USERS&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;DATABASE.dbo.listUsers&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;CHECK_PASSWORD&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;DATABASE.dbo.checkPassword @email = @email, @password = @password&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;#34;CHECK_PASSWORD1&amp;#34;&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;DATABASE.dbo.checkPassword&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="stored-procedures">Stored Procedures&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sql" data-lang="sql">&lt;span style="display:flex;">&lt;span>USE [DemoDB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">GO&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">SET&lt;/span> ANSI_NULLS &lt;span style="color:#66d9ef">ON&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">GO&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">SET&lt;/span> QUOTED_IDENTIFIER &lt;span style="color:#66d9ef">ON&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">GO&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">ALTER&lt;/span> &lt;span style="color:#66d9ef">PROCEDURE&lt;/span> [dbo].[checkEmail] (&lt;span style="color:#f92672">@&lt;/span>email VARCHAR(&lt;span style="color:#ae81ff">50&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">AS&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">BEGIN&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">SELECT&lt;/span> &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#66d9ef">from&lt;/span> DemoUser &lt;span style="color:#66d9ef">WHERE&lt;/span> email &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">@&lt;/span>email	
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">END&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">ALTER&lt;/span> &lt;span style="color:#66d9ef">PROCEDURE&lt;/span> [dbo].[checkPassword] (&lt;span style="color:#f92672">@&lt;/span>email NVARCHAR(&lt;span style="color:#ae81ff">50&lt;/span>), &lt;span style="color:#f92672">@&lt;/span>password NVARCHAR(&lt;span style="color:#ae81ff">60&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">AS&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">BEGIN&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">SELECT&lt;/span> email, password &lt;span style="color:#66d9ef">from&lt;/span> DemoUser &lt;span style="color:#66d9ef">WHERE&lt;/span> email &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">@&lt;/span>email	&lt;span style="color:#66d9ef">AND&lt;/span> password &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#f92672">@&lt;/span>password
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">--IF @@ROWCOUNT = 0 BEGIN
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#75715e">--	select &amp;#39;none&amp;#39; as email, &amp;#39;none&amp;#39; as password 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span> &lt;span style="color:#75715e">--END 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&lt;/span>&lt;span style="color:#66d9ef">END&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">ALTER&lt;/span> &lt;span style="color:#66d9ef">PROCEDURE&lt;/span> [dbo].[saveUser] (&lt;span style="color:#f92672">@&lt;/span>email VARCHAR(&lt;span style="color:#ae81ff">50&lt;/span>), &lt;span style="color:#f92672">@&lt;/span>password VARCHAR(&lt;span style="color:#ae81ff">10&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">AS&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">BEGIN&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">INSERT&lt;/span> &lt;span style="color:#66d9ef">INTO&lt;/span> DemoUser(email, password) &lt;span style="color:#66d9ef">VALUES&lt;/span> (&lt;span style="color:#f92672">@&lt;/span>email, &lt;span style="color:#f92672">@&lt;/span>password)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">END&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">ALTER&lt;/span> &lt;span style="color:#66d9ef">PROCEDURE&lt;/span> [dbo].[listUsers]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">AS&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">BEGIN&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">SELECT&lt;/span> &lt;span style="color:#f92672">*&lt;/span> &lt;span style="color:#66d9ef">from&lt;/span> DemoUser 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">END&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>SQL Maintenance - Sharepoint</title><link>http://blog.romheat.net/posts/2008/08_07_03_sql_maintenance/</link><pubDate>Thu, 03 Jul 2008 00:00:00 +0100</pubDate><guid>http://blog.romheat.net/posts/2008/08_07_03_sql_maintenance/</guid><description>&lt;p>Hace algún tiempo comente un plan de mantenimiento para las bases de datos de SharePoint 2003, básicamente para SharePoint 2007 los pasos son los mismos, solo que las bases de datos a tener en cuenta son otras.&lt;/p>
&lt;p>Tanto en MOSS como en WSS encontraremos las siguientes bases de datos:&lt;/p>
&lt;p>WSS_Content_GUID&lt;/p>
&lt;p>Esta base de datos contiene los datos de una aplicación web y las colecciones de sitios de dicha aplicación web. Todos los datos de las listas y los documentos de los sitios son almacenados en esta base de datos, en función del movimiento de esta deberemos de tener un plan de mantenimiento para la misma. Importante.&lt;/p></description></item><item><title>SQL Maintenance</title><link>http://blog.romheat.net/posts/2006/06_02_07_sql_maintenance/</link><pubDate>Tue, 07 Feb 2006 00:00:00 +0100</pubDate><guid>http://blog.romheat.net/posts/2006/06_02_07_sql_maintenance/</guid><description>&lt;p>Hoy tocaba mantenimiento del Servidor SQL, revisión de espacio, compactación de bases de datos etc… (cosas del primer martes de cada mes) en fin una vez más nuestro portal crece desmesuradamente sobre todo el log de transacciones (como ocurre con todas las bbdd que se usan) así que como hoy no tenia nada más interesante que contar aquí quedan algunas de las tsqls que forman parte del pan de mantenimiento (yo prefiero hacerlo a mano, usando un PA en vez de usar el asistente programado, manias)&lt;/p></description></item></channel></rss>